@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.
Files changed (513) hide show
  1. package/README.md +1 -2
  2. package/lib/module/components/business/AvatarWithRing/AvatarWithRing.js +6 -4
  3. package/lib/module/components/business/AvatarWithRing/AvatarWithRing.js.map +1 -1
  4. package/lib/module/components/business/AvatarWithRing/styles.js +15 -3
  5. package/lib/module/components/business/AvatarWithRing/styles.js.map +1 -1
  6. package/lib/module/components/business/Decorations/GradientWash.js +50 -36
  7. package/lib/module/components/business/Decorations/GradientWash.js.map +1 -1
  8. package/lib/module/components/business/Decorations/RadialHalo.js +10 -4
  9. package/lib/module/components/business/Decorations/RadialHalo.js.map +1 -1
  10. package/lib/module/components/business/Decorations/ScreenBackdrop.js +22 -14
  11. package/lib/module/components/business/Decorations/ScreenBackdrop.js.map +1 -1
  12. package/lib/module/components/business/Decorations/index.js +3 -0
  13. package/lib/module/components/business/Decorations/index.js.map +1 -1
  14. package/lib/module/components/business/GlassStats/GlassStats.js +7 -4
  15. package/lib/module/components/business/GlassStats/GlassStats.js.map +1 -1
  16. package/lib/module/components/business/GlassStats/types.js +2 -0
  17. package/lib/module/components/business/VersionPill/VersionPill.js +23 -5
  18. package/lib/module/components/business/VersionPill/VersionPill.js.map +1 -1
  19. package/lib/module/components/business/VersionPill/styles.js +1 -1
  20. package/lib/module/components/business/index.js.map +1 -1
  21. package/lib/module/components/business/useSvgId.js +20 -0
  22. package/lib/module/components/business/useSvgId.js.map +1 -0
  23. package/lib/module/components/ui/Avatar/Avatar.js +13 -8
  24. package/lib/module/components/ui/Avatar/Avatar.js.map +1 -1
  25. package/lib/module/components/ui/Avatar/styles.js +7 -7
  26. package/lib/module/components/ui/Avatar/styles.js.map +1 -1
  27. package/lib/module/components/ui/BlurLayer/BlurLayer.js +5 -1
  28. package/lib/module/components/ui/BlurLayer/BlurLayer.js.map +1 -1
  29. package/lib/module/components/ui/BlurLayer/BlurLayer.web.js +7 -1
  30. package/lib/module/components/ui/BlurLayer/BlurLayer.web.js.map +1 -1
  31. package/lib/module/components/ui/Button/Button.js +2 -1
  32. package/lib/module/components/ui/Button/Button.js.map +1 -1
  33. package/lib/module/components/ui/Button/ButtonBase.js +36 -2
  34. package/lib/module/components/ui/Button/ButtonBase.js.map +1 -1
  35. package/lib/module/components/ui/Button/styles.js +27 -25
  36. package/lib/module/components/ui/Button/styles.js.map +1 -1
  37. package/lib/module/components/ui/Card/Card.js +17 -8
  38. package/lib/module/components/ui/Card/Card.js.map +1 -1
  39. package/lib/module/components/ui/Card/styles.js +6 -1
  40. package/lib/module/components/ui/Card/styles.js.map +1 -1
  41. package/lib/module/components/ui/Carousel/Carousel.js +36 -6
  42. package/lib/module/components/ui/Carousel/Carousel.js.map +1 -1
  43. package/lib/module/components/ui/Cell/Cell.js +23 -5
  44. package/lib/module/components/ui/Cell/Cell.js.map +1 -1
  45. package/lib/module/components/ui/Cell/Leading.js +2 -2
  46. package/lib/module/components/ui/Cell/Leading.js.map +1 -1
  47. package/lib/module/components/ui/Cell/List.js +10 -5
  48. package/lib/module/components/ui/Cell/List.js.map +1 -1
  49. package/lib/module/components/ui/Cell/styles.js +7 -6
  50. package/lib/module/components/ui/Cell/styles.js.map +1 -1
  51. package/lib/module/components/ui/Checkbox/Checkbox.js +10 -8
  52. package/lib/module/components/ui/Checkbox/Checkbox.js.map +1 -1
  53. package/lib/module/components/ui/Checkbox/styles.js +9 -1
  54. package/lib/module/components/ui/Checkbox/styles.js.map +1 -1
  55. package/lib/module/components/ui/Chip/Chip.js +19 -5
  56. package/lib/module/components/ui/Chip/Chip.js.map +1 -1
  57. package/lib/module/components/ui/Confirm/ConfirmHost.js +28 -11
  58. package/lib/module/components/ui/Confirm/ConfirmHost.js.map +1 -1
  59. package/lib/module/components/ui/Confirm/confirm.js +6 -0
  60. package/lib/module/components/ui/Confirm/confirm.js.map +1 -1
  61. package/lib/module/components/ui/DrawerHeader/DrawerHeader.js +14 -9
  62. package/lib/module/components/ui/DrawerHeader/DrawerHeader.js.map +1 -1
  63. package/lib/module/components/ui/DrawerHeader/styles.js +10 -6
  64. package/lib/module/components/ui/DrawerHeader/styles.js.map +1 -1
  65. package/lib/module/components/ui/Empty/Empty.js +5 -4
  66. package/lib/module/components/ui/Empty/Empty.js.map +1 -1
  67. package/lib/module/components/ui/EntryCard/EntryCard.js +5 -3
  68. package/lib/module/components/ui/EntryCard/EntryCard.js.map +1 -1
  69. package/lib/module/components/ui/EntryCard/styles.js +4 -4
  70. package/lib/module/components/ui/EntryCard/styles.js.map +1 -1
  71. package/lib/module/components/ui/Form/FormRow.js +1 -0
  72. package/lib/module/components/ui/Form/FormRow.js.map +1 -1
  73. package/lib/module/components/ui/Form/styles.js +3 -1
  74. package/lib/module/components/ui/Form/styles.js.map +1 -1
  75. package/lib/module/components/ui/Grid/Grid.js +39 -24
  76. package/lib/module/components/ui/Grid/Grid.js.map +1 -1
  77. package/lib/module/components/ui/Grid/styles.js +35 -46
  78. package/lib/module/components/ui/Grid/styles.js.map +1 -1
  79. package/lib/module/components/ui/Icon/Icon.js +46 -29
  80. package/lib/module/components/ui/Icon/Icon.js.map +1 -1
  81. package/lib/module/components/ui/IconButton/IconButton.js +2 -0
  82. package/lib/module/components/ui/IconButton/IconButton.js.map +1 -1
  83. package/lib/module/components/ui/Logo/Logo.js +2 -1
  84. package/lib/module/components/ui/Logo/Logo.js.map +1 -1
  85. package/lib/module/components/ui/NavBar/NavBar.js +15 -3
  86. package/lib/module/components/ui/NavBar/NavBar.js.map +1 -1
  87. package/lib/module/components/ui/PasswordInput/PasswordInput.js +43 -14
  88. package/lib/module/components/ui/PasswordInput/PasswordInput.js.map +1 -1
  89. package/lib/module/components/ui/PasswordInput/styles.js +1 -1
  90. package/lib/module/components/ui/Pulse/Pulse.js +2 -1
  91. package/lib/module/components/ui/Pulse/Pulse.js.map +1 -1
  92. package/lib/module/components/ui/Pulse/PulseDot.js +8 -10
  93. package/lib/module/components/ui/Pulse/PulseDot.js.map +1 -1
  94. package/lib/module/components/ui/Pulse/types.js +2 -0
  95. package/lib/module/components/ui/Pulse/usePulse.web.js +51 -30
  96. package/lib/module/components/ui/Pulse/usePulse.web.js.map +1 -1
  97. package/lib/module/components/ui/Radio/Radio.js +19 -5
  98. package/lib/module/components/ui/Radio/Radio.js.map +1 -1
  99. package/lib/module/components/ui/Radio/RadioGroup.js +10 -6
  100. package/lib/module/components/ui/Radio/RadioGroup.js.map +1 -1
  101. package/lib/module/components/ui/Radio/styles.js +10 -3
  102. package/lib/module/components/ui/Radio/styles.js.map +1 -1
  103. package/lib/module/components/ui/Reveal/Reveal.web.js +18 -3
  104. package/lib/module/components/ui/Reveal/Reveal.web.js.map +1 -1
  105. package/lib/module/components/ui/Search/Search.js +26 -10
  106. package/lib/module/components/ui/Search/Search.js.map +1 -1
  107. package/lib/module/components/ui/Segmented/Segmented.js +40 -30
  108. package/lib/module/components/ui/Segmented/Segmented.js.map +1 -1
  109. package/lib/module/components/ui/Segmented/styles.js +4 -2
  110. package/lib/module/components/ui/Segmented/styles.js.map +1 -1
  111. package/lib/module/components/ui/Skeleton/Skeleton.js +9 -8
  112. package/lib/module/components/ui/Skeleton/Skeleton.js.map +1 -1
  113. package/lib/module/components/ui/Spinner/Spinner.js +15 -16
  114. package/lib/module/components/ui/Spinner/Spinner.js.map +1 -1
  115. package/lib/module/components/ui/Spinner/Spinner.web.js +10 -14
  116. package/lib/module/components/ui/Spinner/Spinner.web.js.map +1 -1
  117. package/lib/module/components/ui/Spinner/shared.js +31 -0
  118. package/lib/module/components/ui/Spinner/shared.js.map +1 -0
  119. package/lib/module/components/ui/StatusDot/StatusDot.js +21 -4
  120. package/lib/module/components/ui/StatusDot/StatusDot.js.map +1 -1
  121. package/lib/module/components/ui/StatusDot/styles.js +1 -1
  122. package/lib/module/components/ui/StatusDot/types.js +2 -0
  123. package/lib/module/components/ui/Stepper/Stepper.js +46 -10
  124. package/lib/module/components/ui/Stepper/Stepper.js.map +1 -1
  125. package/lib/module/components/ui/Switch/Switch.js +6 -11
  126. package/lib/module/components/ui/Switch/Switch.js.map +1 -1
  127. package/lib/module/components/ui/Switch/Switch.web.js +2 -8
  128. package/lib/module/components/ui/Switch/Switch.web.js.map +1 -1
  129. package/lib/module/components/ui/Switch/styles.js +12 -3
  130. package/lib/module/components/ui/Switch/styles.js.map +1 -1
  131. package/lib/module/components/ui/TabBar/TabBar.js +10 -6
  132. package/lib/module/components/ui/TabBar/TabBar.js.map +1 -1
  133. package/lib/module/components/ui/TabBar/styles.js +28 -39
  134. package/lib/module/components/ui/TabBar/styles.js.map +1 -1
  135. package/lib/module/components/ui/Tabs/Tabs.js +19 -5
  136. package/lib/module/components/ui/Tabs/Tabs.js.map +1 -1
  137. package/lib/module/components/ui/Tabs/styles.js +6 -2
  138. package/lib/module/components/ui/Tabs/styles.js.map +1 -1
  139. package/lib/module/components/ui/Tabs/types.js +2 -0
  140. package/lib/module/components/ui/Tag/styles.js +15 -14
  141. package/lib/module/components/ui/Tag/styles.js.map +1 -1
  142. package/lib/module/components/ui/TextField/TextFieldBase.js +24 -6
  143. package/lib/module/components/ui/TextField/TextFieldBase.js.map +1 -1
  144. package/lib/module/components/ui/Thumbnail/Thumbnail.js +11 -3
  145. package/lib/module/components/ui/Thumbnail/Thumbnail.js.map +1 -1
  146. package/lib/module/components/ui/Thumbnail/styles.js +6 -2
  147. package/lib/module/components/ui/Thumbnail/styles.js.map +1 -1
  148. package/lib/module/components/ui/Toast/ToastHost.js +16 -5
  149. package/lib/module/components/ui/Toast/ToastHost.js.map +1 -1
  150. package/lib/module/components/ui/Toast/ToastHost.web.js +21 -4
  151. package/lib/module/components/ui/Toast/ToastHost.web.js.map +1 -1
  152. package/lib/module/components/ui/Toast/styles.js +2 -0
  153. package/lib/module/components/ui/Toast/styles.js.map +1 -1
  154. package/lib/module/components/ui/Toast/toast.js +23 -3
  155. package/lib/module/components/ui/Toast/toast.js.map +1 -1
  156. package/lib/module/components/ui/shared/badgeStyles.js +31 -0
  157. package/lib/module/components/ui/shared/badgeStyles.js.map +1 -0
  158. package/lib/module/icons/data.js +45 -19
  159. package/lib/module/icons/data.js.map +1 -1
  160. package/lib/module/theme/colors.js +28 -10
  161. package/lib/module/theme/colors.js.map +1 -1
  162. package/lib/module/theme/index.js +6 -2
  163. package/lib/module/theme/index.js.map +1 -1
  164. package/lib/module/theme/scale.js +9 -1
  165. package/lib/module/theme/scale.js.map +1 -1
  166. package/lib/module/theme/shadow.js +24 -41
  167. package/lib/module/theme/shadow.js.map +1 -1
  168. package/lib/module/theme/tokens.js +10 -5
  169. package/lib/module/theme/tokens.js.map +1 -1
  170. package/lib/module/theme/usePrefersReducedMotion.js +12 -0
  171. package/lib/module/theme/usePrefersReducedMotion.js.map +1 -0
  172. package/lib/module/theme/usePrefersReducedMotion.web.js +25 -0
  173. package/lib/module/theme/usePrefersReducedMotion.web.js.map +1 -0
  174. package/lib/module/theme/useTheme.js +13 -0
  175. package/lib/module/theme/useTheme.js.map +1 -1
  176. package/lib/module/utils/logger/logger.js +5 -1
  177. package/lib/module/utils/logger/logger.js.map +1 -1
  178. package/lib/module/utils/testID/testID.js +6 -3
  179. package/lib/module/utils/testID/testID.js.map +1 -1
  180. package/lib/typescript/src/components/business/AvatarWithRing/AvatarWithRing.d.ts +1 -1
  181. package/lib/typescript/src/components/business/AvatarWithRing/AvatarWithRing.d.ts.map +1 -1
  182. package/lib/typescript/src/components/business/AvatarWithRing/styles.d.ts +5 -5
  183. package/lib/typescript/src/components/business/AvatarWithRing/styles.d.ts.map +1 -1
  184. package/lib/typescript/src/components/business/AvatarWithRing/types.d.ts +3 -1
  185. package/lib/typescript/src/components/business/AvatarWithRing/types.d.ts.map +1 -1
  186. package/lib/typescript/src/components/business/Decorations/GradientWash.d.ts +25 -0
  187. package/lib/typescript/src/components/business/Decorations/GradientWash.d.ts.map +1 -1
  188. package/lib/typescript/src/components/business/Decorations/RadialHalo.d.ts.map +1 -1
  189. package/lib/typescript/src/components/business/Decorations/ScreenBackdrop.d.ts +1 -1
  190. package/lib/typescript/src/components/business/Decorations/ScreenBackdrop.d.ts.map +1 -1
  191. package/lib/typescript/src/components/business/Decorations/index.d.ts +1 -1
  192. package/lib/typescript/src/components/business/Decorations/index.d.ts.map +1 -1
  193. package/lib/typescript/src/components/business/Decorations/types.d.ts +2 -0
  194. package/lib/typescript/src/components/business/Decorations/types.d.ts.map +1 -1
  195. package/lib/typescript/src/components/business/GlassStats/GlassStats.d.ts +1 -1
  196. package/lib/typescript/src/components/business/GlassStats/GlassStats.d.ts.map +1 -1
  197. package/lib/typescript/src/components/business/GlassStats/styles.d.ts +2 -2
  198. package/lib/typescript/src/components/business/GlassStats/types.d.ts +5 -0
  199. package/lib/typescript/src/components/business/GlassStats/types.d.ts.map +1 -1
  200. package/lib/typescript/src/components/business/VersionPill/VersionPill.d.ts +1 -1
  201. package/lib/typescript/src/components/business/VersionPill/VersionPill.d.ts.map +1 -1
  202. package/lib/typescript/src/components/business/VersionPill/styles.d.ts +1 -1
  203. package/lib/typescript/src/components/business/VersionPill/styles.d.ts.map +1 -1
  204. package/lib/typescript/src/components/business/VersionPill/types.d.ts +13 -1
  205. package/lib/typescript/src/components/business/VersionPill/types.d.ts.map +1 -1
  206. package/lib/typescript/src/components/business/index.d.ts +1 -1
  207. package/lib/typescript/src/components/business/index.d.ts.map +1 -1
  208. package/lib/typescript/src/components/business/useSvgId.d.ts +12 -0
  209. package/lib/typescript/src/components/business/useSvgId.d.ts.map +1 -0
  210. package/lib/typescript/src/components/ui/Avatar/Avatar.d.ts +1 -1
  211. package/lib/typescript/src/components/ui/Avatar/Avatar.d.ts.map +1 -1
  212. package/lib/typescript/src/components/ui/Avatar/styles.d.ts +1 -1
  213. package/lib/typescript/src/components/ui/Avatar/styles.d.ts.map +1 -1
  214. package/lib/typescript/src/components/ui/Avatar/types.d.ts +3 -1
  215. package/lib/typescript/src/components/ui/Avatar/types.d.ts.map +1 -1
  216. package/lib/typescript/src/components/ui/BlurLayer/BlurLayer.d.ts +1 -1
  217. package/lib/typescript/src/components/ui/BlurLayer/BlurLayer.d.ts.map +1 -1
  218. package/lib/typescript/src/components/ui/BlurLayer/BlurLayer.web.d.ts.map +1 -1
  219. package/lib/typescript/src/components/ui/Button/Button.d.ts +1 -1
  220. package/lib/typescript/src/components/ui/Button/Button.d.ts.map +1 -1
  221. package/lib/typescript/src/components/ui/Button/ButtonBase.d.ts.map +1 -1
  222. package/lib/typescript/src/components/ui/Button/styles.d.ts +2 -1
  223. package/lib/typescript/src/components/ui/Button/styles.d.ts.map +1 -1
  224. package/lib/typescript/src/components/ui/Button/types.d.ts +1 -1
  225. package/lib/typescript/src/components/ui/Button/types.d.ts.map +1 -1
  226. package/lib/typescript/src/components/ui/Card/Card.d.ts.map +1 -1
  227. package/lib/typescript/src/components/ui/Card/styles.d.ts +2 -0
  228. package/lib/typescript/src/components/ui/Card/styles.d.ts.map +1 -1
  229. package/lib/typescript/src/components/ui/Card/types.d.ts +4 -4
  230. package/lib/typescript/src/components/ui/Card/types.d.ts.map +1 -1
  231. package/lib/typescript/src/components/ui/Carousel/Carousel.d.ts +4 -11
  232. package/lib/typescript/src/components/ui/Carousel/Carousel.d.ts.map +1 -1
  233. package/lib/typescript/src/components/ui/Carousel/index.d.ts +1 -1
  234. package/lib/typescript/src/components/ui/Carousel/index.d.ts.map +1 -1
  235. package/lib/typescript/src/components/ui/Carousel/types.d.ts +4 -0
  236. package/lib/typescript/src/components/ui/Carousel/types.d.ts.map +1 -1
  237. package/lib/typescript/src/components/ui/Cell/Cell.d.ts.map +1 -1
  238. package/lib/typescript/src/components/ui/Cell/List.d.ts.map +1 -1
  239. package/lib/typescript/src/components/ui/Cell/styles.d.ts +1 -1
  240. package/lib/typescript/src/components/ui/Cell/styles.d.ts.map +1 -1
  241. package/lib/typescript/src/components/ui/Cell/types.d.ts +5 -2
  242. package/lib/typescript/src/components/ui/Cell/types.d.ts.map +1 -1
  243. package/lib/typescript/src/components/ui/Checkbox/Checkbox.d.ts.map +1 -1
  244. package/lib/typescript/src/components/ui/Checkbox/styles.d.ts +6 -0
  245. package/lib/typescript/src/components/ui/Checkbox/styles.d.ts.map +1 -1
  246. package/lib/typescript/src/components/ui/Chip/Chip.d.ts +4 -3
  247. package/lib/typescript/src/components/ui/Chip/Chip.d.ts.map +1 -1
  248. package/lib/typescript/src/components/ui/Chip/types.d.ts +2 -0
  249. package/lib/typescript/src/components/ui/Chip/types.d.ts.map +1 -1
  250. package/lib/typescript/src/components/ui/Confirm/ConfirmHost.d.ts.map +1 -1
  251. package/lib/typescript/src/components/ui/Confirm/confirm.d.ts.map +1 -1
  252. package/lib/typescript/src/components/ui/Confirm/types.d.ts +4 -2
  253. package/lib/typescript/src/components/ui/Confirm/types.d.ts.map +1 -1
  254. package/lib/typescript/src/components/ui/DrawerHeader/DrawerHeader.d.ts +1 -1
  255. package/lib/typescript/src/components/ui/DrawerHeader/DrawerHeader.d.ts.map +1 -1
  256. package/lib/typescript/src/components/ui/DrawerHeader/styles.d.ts.map +1 -1
  257. package/lib/typescript/src/components/ui/DrawerHeader/types.d.ts +3 -1
  258. package/lib/typescript/src/components/ui/DrawerHeader/types.d.ts.map +1 -1
  259. package/lib/typescript/src/components/ui/Empty/Empty.d.ts +2 -2
  260. package/lib/typescript/src/components/ui/Empty/Empty.d.ts.map +1 -1
  261. package/lib/typescript/src/components/ui/Empty/types.d.ts +3 -0
  262. package/lib/typescript/src/components/ui/Empty/types.d.ts.map +1 -1
  263. package/lib/typescript/src/components/ui/EntryCard/EntryCard.d.ts.map +1 -1
  264. package/lib/typescript/src/components/ui/EntryCard/styles.d.ts.map +1 -1
  265. package/lib/typescript/src/components/ui/EntryCard/types.d.ts +2 -2
  266. package/lib/typescript/src/components/ui/EntryCard/types.d.ts.map +1 -1
  267. package/lib/typescript/src/components/ui/Form/FormRow.d.ts.map +1 -1
  268. package/lib/typescript/src/components/ui/Form/styles.d.ts +1 -0
  269. package/lib/typescript/src/components/ui/Form/styles.d.ts.map +1 -1
  270. package/lib/typescript/src/components/ui/Form/types.d.ts +7 -2
  271. package/lib/typescript/src/components/ui/Form/types.d.ts.map +1 -1
  272. package/lib/typescript/src/components/ui/Grid/Grid.d.ts +1 -1
  273. package/lib/typescript/src/components/ui/Grid/Grid.d.ts.map +1 -1
  274. package/lib/typescript/src/components/ui/Grid/styles.d.ts.map +1 -1
  275. package/lib/typescript/src/components/ui/Grid/types.d.ts +4 -1
  276. package/lib/typescript/src/components/ui/Grid/types.d.ts.map +1 -1
  277. package/lib/typescript/src/components/ui/Icon/Icon.d.ts.map +1 -1
  278. package/lib/typescript/src/components/ui/IconButton/IconButton.d.ts +1 -1
  279. package/lib/typescript/src/components/ui/IconButton/IconButton.d.ts.map +1 -1
  280. package/lib/typescript/src/components/ui/IconButton/types.d.ts +7 -2
  281. package/lib/typescript/src/components/ui/IconButton/types.d.ts.map +1 -1
  282. package/lib/typescript/src/components/ui/Input/Input.d.ts +16 -16
  283. package/lib/typescript/src/components/ui/Input/types.d.ts +3 -2
  284. package/lib/typescript/src/components/ui/Input/types.d.ts.map +1 -1
  285. package/lib/typescript/src/components/ui/Logo/Logo.d.ts.map +1 -1
  286. package/lib/typescript/src/components/ui/NavBar/NavBar.d.ts +8 -1
  287. package/lib/typescript/src/components/ui/NavBar/NavBar.d.ts.map +1 -1
  288. package/lib/typescript/src/components/ui/NavBar/types.d.ts +5 -1
  289. package/lib/typescript/src/components/ui/NavBar/types.d.ts.map +1 -1
  290. package/lib/typescript/src/components/ui/PasswordInput/PasswordInput.d.ts +13 -5
  291. package/lib/typescript/src/components/ui/PasswordInput/PasswordInput.d.ts.map +1 -1
  292. package/lib/typescript/src/components/ui/PasswordInput/styles.d.ts +1 -1
  293. package/lib/typescript/src/components/ui/PasswordInput/styles.d.ts.map +1 -1
  294. package/lib/typescript/src/components/ui/PasswordInput/types.d.ts +7 -2
  295. package/lib/typescript/src/components/ui/PasswordInput/types.d.ts.map +1 -1
  296. package/lib/typescript/src/components/ui/Pulse/Pulse.d.ts +1 -1
  297. package/lib/typescript/src/components/ui/Pulse/Pulse.d.ts.map +1 -1
  298. package/lib/typescript/src/components/ui/Pulse/PulseDot.d.ts +1 -1
  299. package/lib/typescript/src/components/ui/Pulse/PulseDot.d.ts.map +1 -1
  300. package/lib/typescript/src/components/ui/Pulse/types.d.ts +5 -0
  301. package/lib/typescript/src/components/ui/Pulse/types.d.ts.map +1 -1
  302. package/lib/typescript/src/components/ui/Pulse/usePulse.web.d.ts +12 -8
  303. package/lib/typescript/src/components/ui/Pulse/usePulse.web.d.ts.map +1 -1
  304. package/lib/typescript/src/components/ui/Radio/Radio.d.ts.map +1 -1
  305. package/lib/typescript/src/components/ui/Radio/RadioGroup.d.ts.map +1 -1
  306. package/lib/typescript/src/components/ui/Radio/styles.d.ts +4 -2
  307. package/lib/typescript/src/components/ui/Radio/styles.d.ts.map +1 -1
  308. package/lib/typescript/src/components/ui/Reveal/Reveal.web.d.ts +9 -0
  309. package/lib/typescript/src/components/ui/Reveal/Reveal.web.d.ts.map +1 -1
  310. package/lib/typescript/src/components/ui/Search/Search.d.ts +16 -15
  311. package/lib/typescript/src/components/ui/Search/Search.d.ts.map +1 -1
  312. package/lib/typescript/src/components/ui/Search/types.d.ts +3 -1
  313. package/lib/typescript/src/components/ui/Search/types.d.ts.map +1 -1
  314. package/lib/typescript/src/components/ui/Segmented/Segmented.d.ts +1 -1
  315. package/lib/typescript/src/components/ui/Segmented/Segmented.d.ts.map +1 -1
  316. package/lib/typescript/src/components/ui/Segmented/styles.d.ts +1 -1
  317. package/lib/typescript/src/components/ui/Segmented/styles.d.ts.map +1 -1
  318. package/lib/typescript/src/components/ui/Segmented/types.d.ts +2 -0
  319. package/lib/typescript/src/components/ui/Segmented/types.d.ts.map +1 -1
  320. package/lib/typescript/src/components/ui/Skeleton/Skeleton.d.ts +3 -2
  321. package/lib/typescript/src/components/ui/Skeleton/Skeleton.d.ts.map +1 -1
  322. package/lib/typescript/src/components/ui/Spinner/Spinner.d.ts.map +1 -1
  323. package/lib/typescript/src/components/ui/Spinner/Spinner.web.d.ts.map +1 -1
  324. package/lib/typescript/src/components/ui/Spinner/shared.d.ts +5 -0
  325. package/lib/typescript/src/components/ui/Spinner/shared.d.ts.map +1 -0
  326. package/lib/typescript/src/components/ui/StatusDot/StatusDot.d.ts +1 -5
  327. package/lib/typescript/src/components/ui/StatusDot/StatusDot.d.ts.map +1 -1
  328. package/lib/typescript/src/components/ui/StatusDot/styles.d.ts +1 -1
  329. package/lib/typescript/src/components/ui/StatusDot/types.d.ts +13 -1
  330. package/lib/typescript/src/components/ui/StatusDot/types.d.ts.map +1 -1
  331. package/lib/typescript/src/components/ui/Stepper/Stepper.d.ts.map +1 -1
  332. package/lib/typescript/src/components/ui/Switch/Switch.d.ts.map +1 -1
  333. package/lib/typescript/src/components/ui/Switch/Switch.web.d.ts.map +1 -1
  334. package/lib/typescript/src/components/ui/Switch/styles.d.ts +7 -1
  335. package/lib/typescript/src/components/ui/Switch/styles.d.ts.map +1 -1
  336. package/lib/typescript/src/components/ui/TabBar/TabBar.d.ts +2 -2
  337. package/lib/typescript/src/components/ui/TabBar/TabBar.d.ts.map +1 -1
  338. package/lib/typescript/src/components/ui/TabBar/styles.d.ts.map +1 -1
  339. package/lib/typescript/src/components/ui/TabBar/types.d.ts +3 -0
  340. package/lib/typescript/src/components/ui/TabBar/types.d.ts.map +1 -1
  341. package/lib/typescript/src/components/ui/Tabs/Tabs.d.ts +1 -1
  342. package/lib/typescript/src/components/ui/Tabs/Tabs.d.ts.map +1 -1
  343. package/lib/typescript/src/components/ui/Tabs/styles.d.ts.map +1 -1
  344. package/lib/typescript/src/components/ui/Tabs/types.d.ts +9 -1
  345. package/lib/typescript/src/components/ui/Tabs/types.d.ts.map +1 -1
  346. package/lib/typescript/src/components/ui/Tag/styles.d.ts +2 -1
  347. package/lib/typescript/src/components/ui/Tag/styles.d.ts.map +1 -1
  348. package/lib/typescript/src/components/ui/Tag/types.d.ts +6 -2
  349. package/lib/typescript/src/components/ui/Tag/types.d.ts.map +1 -1
  350. package/lib/typescript/src/components/ui/TextField/TextFieldBase.d.ts +16 -16
  351. package/lib/typescript/src/components/ui/TextField/TextFieldBase.d.ts.map +1 -1
  352. package/lib/typescript/src/components/ui/Textarea/Textarea.d.ts +16 -16
  353. package/lib/typescript/src/components/ui/Textarea/types.d.ts +2 -1
  354. package/lib/typescript/src/components/ui/Textarea/types.d.ts.map +1 -1
  355. package/lib/typescript/src/components/ui/Thumbnail/Thumbnail.d.ts.map +1 -1
  356. package/lib/typescript/src/components/ui/Thumbnail/styles.d.ts +3 -0
  357. package/lib/typescript/src/components/ui/Thumbnail/styles.d.ts.map +1 -1
  358. package/lib/typescript/src/components/ui/Toast/ToastHost.d.ts.map +1 -1
  359. package/lib/typescript/src/components/ui/Toast/ToastHost.web.d.ts.map +1 -1
  360. package/lib/typescript/src/components/ui/Toast/styles.d.ts.map +1 -1
  361. package/lib/typescript/src/components/ui/Toast/toast.d.ts +0 -5
  362. package/lib/typescript/src/components/ui/Toast/toast.d.ts.map +1 -1
  363. package/lib/typescript/src/components/ui/Toast/types.d.ts +1 -1
  364. package/lib/typescript/src/components/ui/Toast/types.d.ts.map +1 -1
  365. package/lib/typescript/src/components/ui/shared/badgeStyles.d.ts +27 -0
  366. package/lib/typescript/src/components/ui/shared/badgeStyles.d.ts.map +1 -0
  367. package/lib/typescript/src/icons/data.d.ts +1 -1
  368. package/lib/typescript/src/icons/data.d.ts.map +1 -1
  369. package/lib/typescript/src/icons/types.d.ts +18 -12
  370. package/lib/typescript/src/icons/types.d.ts.map +1 -1
  371. package/lib/typescript/src/theme/colors.d.ts +9 -3
  372. package/lib/typescript/src/theme/colors.d.ts.map +1 -1
  373. package/lib/typescript/src/theme/index.d.ts +3 -2
  374. package/lib/typescript/src/theme/index.d.ts.map +1 -1
  375. package/lib/typescript/src/theme/scale.d.ts.map +1 -1
  376. package/lib/typescript/src/theme/shadow.d.ts +8 -8
  377. package/lib/typescript/src/theme/shadow.d.ts.map +1 -1
  378. package/lib/typescript/src/theme/tokens.d.ts +7 -3
  379. package/lib/typescript/src/theme/tokens.d.ts.map +1 -1
  380. package/lib/typescript/src/theme/usePrefersReducedMotion.d.ts +8 -0
  381. package/lib/typescript/src/theme/usePrefersReducedMotion.d.ts.map +1 -0
  382. package/lib/typescript/src/theme/usePrefersReducedMotion.web.d.ts +6 -0
  383. package/lib/typescript/src/theme/usePrefersReducedMotion.web.d.ts.map +1 -0
  384. package/lib/typescript/src/theme/useTheme.d.ts.map +1 -1
  385. package/lib/typescript/src/utils/logger/logger.d.ts.map +1 -1
  386. package/lib/typescript/src/utils/testID/testID.d.ts +6 -3
  387. package/lib/typescript/src/utils/testID/testID.d.ts.map +1 -1
  388. package/package.json +2 -1
  389. package/src/components/business/AvatarWithRing/AvatarWithRing.tsx +5 -4
  390. package/src/components/business/AvatarWithRing/styles.ts +21 -3
  391. package/src/components/business/AvatarWithRing/types.ts +3 -1
  392. package/src/components/business/Decorations/GradientWash.tsx +46 -22
  393. package/src/components/business/Decorations/RadialHalo.tsx +8 -4
  394. package/src/components/business/Decorations/ScreenBackdrop.tsx +23 -5
  395. package/src/components/business/Decorations/index.ts +4 -0
  396. package/src/components/business/Decorations/types.ts +2 -0
  397. package/src/components/business/GlassStats/GlassStats.tsx +8 -4
  398. package/src/components/business/GlassStats/types.ts +6 -0
  399. package/src/components/business/VersionPill/VersionPill.tsx +46 -6
  400. package/src/components/business/VersionPill/styles.ts +1 -1
  401. package/src/components/business/VersionPill/types.ts +13 -1
  402. package/src/components/business/index.ts +1 -0
  403. package/src/components/business/useSvgId.ts +17 -0
  404. package/src/components/ui/Avatar/Avatar.tsx +17 -10
  405. package/src/components/ui/Avatar/styles.ts +7 -7
  406. package/src/components/ui/Avatar/types.ts +3 -1
  407. package/src/components/ui/BlurLayer/BlurLayer.tsx +4 -1
  408. package/src/components/ui/BlurLayer/BlurLayer.web.tsx +7 -1
  409. package/src/components/ui/Button/Button.tsx +2 -1
  410. package/src/components/ui/Button/ButtonBase.tsx +26 -2
  411. package/src/components/ui/Button/styles.ts +27 -25
  412. package/src/components/ui/Button/types.ts +1 -1
  413. package/src/components/ui/Card/Card.tsx +17 -7
  414. package/src/components/ui/Card/styles.ts +5 -0
  415. package/src/components/ui/Card/types.ts +4 -4
  416. package/src/components/ui/Carousel/Carousel.tsx +44 -15
  417. package/src/components/ui/Carousel/index.ts +1 -1
  418. package/src/components/ui/Carousel/types.ts +5 -0
  419. package/src/components/ui/Cell/Cell.tsx +28 -6
  420. package/src/components/ui/Cell/Leading.tsx +2 -2
  421. package/src/components/ui/Cell/List.tsx +14 -8
  422. package/src/components/ui/Cell/styles.ts +8 -5
  423. package/src/components/ui/Cell/types.ts +5 -2
  424. package/src/components/ui/Checkbox/Checkbox.tsx +18 -5
  425. package/src/components/ui/Checkbox/styles.ts +8 -0
  426. package/src/components/ui/Chip/Chip.tsx +20 -5
  427. package/src/components/ui/Chip/types.ts +2 -0
  428. package/src/components/ui/Confirm/ConfirmHost.tsx +26 -10
  429. package/src/components/ui/Confirm/confirm.ts +8 -0
  430. package/src/components/ui/Confirm/types.ts +4 -2
  431. package/src/components/ui/DrawerHeader/DrawerHeader.tsx +18 -12
  432. package/src/components/ui/DrawerHeader/styles.ts +10 -6
  433. package/src/components/ui/DrawerHeader/types.ts +3 -1
  434. package/src/components/ui/Empty/Empty.tsx +5 -4
  435. package/src/components/ui/Empty/types.ts +3 -0
  436. package/src/components/ui/EntryCard/EntryCard.tsx +5 -3
  437. package/src/components/ui/EntryCard/styles.ts +13 -4
  438. package/src/components/ui/EntryCard/types.ts +2 -2
  439. package/src/components/ui/Form/FormRow.tsx +7 -1
  440. package/src/components/ui/Form/styles.ts +2 -0
  441. package/src/components/ui/Form/types.ts +7 -2
  442. package/src/components/ui/Grid/Grid.tsx +42 -25
  443. package/src/components/ui/Grid/styles.ts +8 -20
  444. package/src/components/ui/Grid/types.ts +4 -1
  445. package/src/components/ui/Icon/Icon.tsx +42 -27
  446. package/src/components/ui/IconButton/IconButton.tsx +2 -0
  447. package/src/components/ui/IconButton/types.ts +8 -2
  448. package/src/components/ui/Input/types.ts +3 -2
  449. package/src/components/ui/Logo/Logo.tsx +2 -1
  450. package/src/components/ui/NavBar/NavBar.tsx +16 -2
  451. package/src/components/ui/NavBar/types.ts +5 -1
  452. package/src/components/ui/PasswordInput/PasswordInput.tsx +77 -43
  453. package/src/components/ui/PasswordInput/styles.ts +1 -1
  454. package/src/components/ui/PasswordInput/types.ts +7 -2
  455. package/src/components/ui/Pulse/Pulse.tsx +2 -1
  456. package/src/components/ui/Pulse/PulseDot.tsx +7 -6
  457. package/src/components/ui/Pulse/types.ts +6 -0
  458. package/src/components/ui/Pulse/usePulse.web.ts +50 -33
  459. package/src/components/ui/Radio/Radio.tsx +29 -6
  460. package/src/components/ui/Radio/RadioGroup.tsx +10 -3
  461. package/src/components/ui/Radio/styles.ts +9 -2
  462. package/src/components/ui/Reveal/Reveal.web.tsx +18 -3
  463. package/src/components/ui/Search/Search.tsx +22 -9
  464. package/src/components/ui/Search/types.ts +7 -1
  465. package/src/components/ui/Segmented/Segmented.tsx +8 -3
  466. package/src/components/ui/Segmented/styles.ts +4 -2
  467. package/src/components/ui/Segmented/types.ts +2 -0
  468. package/src/components/ui/Skeleton/Skeleton.tsx +9 -8
  469. package/src/components/ui/Spinner/Spinner.tsx +17 -17
  470. package/src/components/ui/Spinner/Spinner.web.tsx +7 -15
  471. package/src/components/ui/Spinner/shared.ts +37 -0
  472. package/src/components/ui/StatusDot/StatusDot.tsx +21 -3
  473. package/src/components/ui/StatusDot/styles.ts +1 -1
  474. package/src/components/ui/StatusDot/types.ts +14 -1
  475. package/src/components/ui/Stepper/Stepper.tsx +45 -10
  476. package/src/components/ui/Switch/Switch.tsx +4 -10
  477. package/src/components/ui/Switch/Switch.web.tsx +2 -8
  478. package/src/components/ui/Switch/styles.ts +10 -1
  479. package/src/components/ui/TabBar/TabBar.tsx +14 -6
  480. package/src/components/ui/TabBar/styles.ts +9 -21
  481. package/src/components/ui/TabBar/types.ts +3 -0
  482. package/src/components/ui/Tabs/Tabs.tsx +24 -5
  483. package/src/components/ui/Tabs/styles.ts +6 -2
  484. package/src/components/ui/Tabs/types.ts +10 -1
  485. package/src/components/ui/Tag/styles.ts +18 -10
  486. package/src/components/ui/Tag/types.ts +6 -2
  487. package/src/components/ui/TextField/TextFieldBase.tsx +31 -6
  488. package/src/components/ui/Textarea/types.ts +2 -1
  489. package/src/components/ui/Thumbnail/Thumbnail.tsx +14 -3
  490. package/src/components/ui/Thumbnail/styles.ts +6 -2
  491. package/src/components/ui/Toast/ToastHost.tsx +16 -8
  492. package/src/components/ui/Toast/ToastHost.web.tsx +26 -4
  493. package/src/components/ui/Toast/styles.ts +2 -0
  494. package/src/components/ui/Toast/toast.ts +35 -2
  495. package/src/components/ui/Toast/types.ts +1 -1
  496. package/src/components/ui/shared/badgeStyles.ts +36 -0
  497. package/src/icons/data.ts +30 -0
  498. package/src/icons/types.ts +25 -10
  499. package/src/theme/colors.ts +29 -10
  500. package/src/theme/index.ts +10 -1
  501. package/src/theme/scale.ts +5 -1
  502. package/src/theme/shadow.ts +33 -24
  503. package/src/theme/tokens.ts +10 -5
  504. package/src/theme/usePrefersReducedMotion.ts +9 -0
  505. package/src/theme/usePrefersReducedMotion.web.ts +27 -0
  506. package/src/theme/useTheme.ts +15 -0
  507. package/src/utils/logger/logger.ts +5 -1
  508. package/src/utils/testID/testID.ts +6 -3
  509. package/lib/module/components/index.js +0 -5
  510. package/lib/module/components/index.js.map +0 -1
  511. package/lib/typescript/src/components/index.d.ts +0 -3
  512. package/lib/typescript/src/components/index.d.ts.map +0 -1
  513. 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 ?? (typeof title === 'string' ? title : undefined),
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 ? 0.7 : 1
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","extra","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","accessibilityRole","accessibilityState","pressed","opacity"],"sourceRoot":"../../../../../src","sources":["components/ui/Cell/Cell.tsx"],"mappings":"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","ignoreList":[]}
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,EAAG;UACTC,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,EAAE,EAAG;MACTC,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":[]}
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) => /*#__PURE__*/_jsxs(React.Fragment, {
31
- children: [i > 0 && divider === 'full' ? /*#__PURE__*/_jsx(View, {
32
- style: styles.separator
33
- }) : null, child]
34
- }, i))
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,kBAClBlB,KAAA,CAACR,KAAK,CAAC2B,QAAQ;UAAAjB,QAAA,GACZgB,CAAC,GAAG,CAAC,IAAId,OAAO,KAAK,MAAM,gBAC1BN,IAAA,CAACL,IAAI;YAACY,KAAK,EAAEE,MAAM,CAACa;UAAU,CAAE,CAAC,GAC/B,IAAI,EACPH,KAAK;QAAA,GAJaC,CAKL,CACjB;MAAC,CACE;IAAC,CACoB,CAAC;EAElC;EACA,oBACEpB,IAAA,CAACH,kBAAkB,CAACkB,QAAQ;IAACC,KAAK,EAAC,SAAS;IAAAZ,QAAA,eAC1CJ,IAAA,CAACL,IAAI;MAACY,KAAK,EAAE,CAACE,MAAM,CAACc,IAAI,EAAEd,MAAM,CAACe,WAAW,EAAEjB,KAAK,CAAE;MAACC,MAAM,EAAEA,MAAO;MAAAJ,QAAA,EACnEA;IAAQ,CACL;EAAC,CACoB,CAAC;AAElC","ignoreList":[]}
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: 0
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: r(13),
40
+ fontSize: rf(13),
40
41
  fontWeight: fw.medium,
41
42
  letterSpacing: -0.1,
42
- lineHeight: r(13) * 1.3,
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: r(11),
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: r(11),
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":"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","ignoreList":[]}
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
- hitSlop: 4,
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 ? 0.7 : 1
43
+ opacity: disabled ? 0.5 : pressed ? pressedOpacity : 1
42
44
  }],
43
45
  children: [/*#__PURE__*/_jsx(View, {
44
- style: [styles.box, shape === 'circle' && {
45
- borderRadius: r(20) / 2
46
- }, checked && {
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","borderRadius","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,SAASC,CAAC,EAAEC,SAAS,EAAEC,eAAe,QAAQ,yBAAgB;AAC9D,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,CAACT,SAAS;IACRmB,OAAO,EAAEA,CAAA,KAAM,CAACJ,QAAQ,IAAIH,QAAQ,CAAC,CAACD,OAAO,CAAE;IAC/CI,QAAQ,EAAEA,QAAS;IACnBK,OAAO,EAAE,CAAE;IACXC,iBAAiB,EAAC,UAAU;IAC5BC,kBAAkB,EAAE;MAAEX,OAAO;MAAEI,QAAQ,EAAE,CAAC,CAACA;IAAS,CAAE;IACtDQ,kBAAkB,EAAEV,KAAM;IAC1BG,MAAM,EAAEA,MAAO;IACfQ,KAAK,EAAEA,CAAC;MAAEC;IAAQ,CAAC,KAAK,CACtBP,MAAM,CAACQ,GAAG,EACV;MAAEC,OAAO,EAAEZ,QAAQ,GAAG,GAAG,GAAGU,OAAO,GAAG,GAAG,GAAG;IAAE,CAAC,CAC/C;IAAAG,QAAA,gBAEFrB,IAAA,CAACR,IAAI;MACHyB,KAAK,EAAE,CACLN,MAAM,CAACW,GAAG,EACVf,KAAK,KAAK,QAAQ,IAAI;QAAEgB,YAAY,EAAE7B,CAAC,CAAC,EAAE,CAAC,GAAG;MAAE,CAAC,EACjDU,OAAO,IAAI;QACToB,eAAe,EAAEd,CAAC,CAACe,OAAO;QAC1BC,WAAW,EAAEhB,CAAC,CAACe;MACjB,CAAC,CACD;MAAAJ,QAAA,EAEDjB,OAAO,gBACNJ,IAAA,CAACH,IAAI;QAAC8B,IAAI,EAAC,OAAO;QAACC,IAAI,EAAE,EAAG;QAACC,KAAK,EAAEnB,CAAC,CAACoB,SAAU;QAACC,WAAW,EAAE;MAAI,CAAE,CAAC,GACnE;IAAI,CACJ,CAAC,EACNzB,KAAK,gBAAGN,IAAA,CAACT,IAAI;MAAC0B,KAAK,EAAEN,MAAM,CAACL,KAAM;MAAAe,QAAA,EAAEf;IAAK,CAAO,CAAC,GAAG,IAAI;EAAA,CAChD,CAAC;AAEhB","ignoreList":[]}
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;IACpBC,GAAG,EAAET,KAAK,CAAC,CAAC;EACd,CAAC;EACDU,GAAG,EAAE;IACHC,KAAK,EAAEb,CAAC,CAAC,EAAE,CAAC;IACZc,MAAM,EAAEd,CAAC,CAAC,EAAE,CAAC;IACbe,YAAY,EAAEd,MAAM,CAACe,EAAE;IACvBC,WAAW,EAAEjB,CAAC,CAAC,GAAG,CAAC;IACnBkB,WAAW,EAAEZ,CAAC,CAACa,OAAO;IACtBT,UAAU,EAAE,QAAQ;IACpBU,cAAc,EAAE;EAClB,CAAC;EACDC,KAAK,EAAE;IACLC,QAAQ,EAAElB,CAAC,CAACmB,EAAE;IACdC,KAAK,EAAElB,CAAC,CAACmB,UAAU;IACnBC,UAAU,EAAE3B,EAAE,CAAC4B;EACjB;AACF,CAAC,CAAC","ignoreList":[]}
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
- * - 默认:白底 + 细线边框,fg-1 文本
11
+ * - 默认:surface + outline 细线边框,foreground 文本
12
12
  * - 选中:主色边框 + 主色文本
13
- * - 按下:透明度 0.7
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
- opacity: pressed ? 0.7 : 1
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;AAChD,SAASC,UAAU,QAAQ,aAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAGtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,IAAIA,CAAC;EACnBC,KAAK;EACLC,QAAQ;EACRC,OAAO;EACPC,OAAO;EACPC,QAAQ;EACRC,KAAK;EACLC;AACS,CAAC,EAAqB;EAC/B,MAAMC,MAAM,GAAGd,eAAe,CAACC,UAAU,CAAC;EAC1C,MAAMc,KAAK,gBACTV,KAAA,CAACP,IAAI;IACHc,KAAK,EAAE,CAACE,MAAM,CAACE,IAAI,EAAER,QAAQ,IAAIM,MAAM,CAACG,MAAM,EAAEL,KAAK,CAAE;IACvDC,MAAM,EAAEJ,OAAO,GAAGS,SAAS,GAAGL,MAAO;IAAAM,QAAA,GAEpCT,OAAO,IAAI,IAAI,gBAAGP,IAAA,CAACL,IAAI;MAAAqB,QAAA,EAAET;IAAO,CAAO,CAAC,GAAG,IAAI,eAChDP,IAAA,CAACN,IAAI;MAACe,KAAK,EAAE,CAACE,MAAM,CAACM,IAAI,EAAEZ,QAAQ,IAAIM,MAAM,CAACO,MAAM,CAAE;MAACC,aAAa,EAAE,CAAE;MAAAH,QAAA,EACrEZ;IAAK,CACF,CAAC,EACNI,QAAQ,IAAI,IAAI,gBAAGR,IAAA,CAACL,IAAI;MAAAqB,QAAA,EAAER;IAAQ,CAAO,CAAC,GAAG,IAAI;EAAA,CAC9C,CACP;EAED,IAAIF,OAAO,EAAE;IACX,oBACEN,IAAA,CAACJ,SAAS;MACRU,OAAO,EAAEA,OAAQ;MACjBc,iBAAiB,EAAC,QAAQ;MAC1BC,kBAAkB,EAAE;QAAEhB,QAAQ,EAAE,CAAC,CAACA;MAAS,CAAE;MAC7CiB,kBAAkB,EAAElB,KAAM;MAC1BM,MAAM,EAAEA,MAAO;MACfD,KAAK,EAAEA,CAAC;QAAEc;MAAQ,CAAC,KAAK,CAAC;QAAEC,OAAO,EAAED,OAAO,GAAG,GAAG,GAAG;MAAE,CAAC,CAAE;MAAAP,QAAA,EAExDJ;IAAK,CACG,CAAC;EAEhB;EACA,OAAOA,KAAK;AACd","ignoreList":[]}
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
- accessibilityRole: "button",
47
- accessibilityLabel: "\u5173\u95ED",
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
- children: entry ? /*#__PURE__*/_jsxs(_Fragment, {
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: entry.title
60
- }), entry.message ? /*#__PURE__*/_jsx(Text, {
76
+ children: display.title
77
+ }), display.message ? /*#__PURE__*/_jsx(Text, {
61
78
  style: styles.message,
62
- children: entry.message
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: entry.cancelLabel ?? '取消',
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: entry.confirmLabel ?? '确认',
75
- variant: entry.destructive ? 'danger' : 'primary',
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","handleConfirm","resolve","handleCancel","visible","transparent","animationType","statusBarTranslucent","onRequestClose","children","style","backdrop","onPress","accessibilityRole","accessibilityLabel","sheet","paddingBottom","bottom","body","title","message","actions","testID","label","cancelLabel","variant","block","confirmLabel","destructive"],"sourceRoot":"../../../../../src","sources":["components/ui/Confirm/ConfirmHost.tsx"],"mappings":"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","ignoreList":[]}
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,MAAMC,KAAmB,GAAG;MAC1BC,EAAE,EAAE,EAAEV,GAAG;MACT,GAAGK,OAAO;MACVG,OAAO,EAAGG,SAAkB,IAAK;QAC/BV,YAAY,GAAG,IAAI;QACnBO,OAAO,CAACG,SAAS,CAAC;MACpB;IACF,CAAC;IACDV,YAAY,GAAGQ,KAAK;IACpBP,KAAK,CAACU,OAAO,CAAEC,CAAC,IAAKA,CAAC,CAACJ,KAAK,CAAC,CAAC;EAChC,CAAC,CAAC;AACJ","ignoreList":[]}
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, useRef, useState } from 'react';
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
- // 避免 unmount 后 Image 网络回包仍调 setState 的 React warning
21
- const mountedRef = useRef(true);
22
- useEffect(() => () => {
23
- mountedRef.current = false;
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
- if (mountedRef.current) setImageFailed(true);
29
+ setImageFailed(true);
27
30
  };
28
- const initial = name.trim()[0] ?? '?';
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","useRef","useState","Image","Text","View","useThemedStyles","makeStyles","jsx","_jsx","jsxs","_jsxs","DrawerHeader","name","subtitle","source","testID","styles","imageFailed","setImageFailed","mountedRef","current","handleImageError","initial","trim","showImage","style","header","children","avatar","avatarImageMode","onError","avatarImage","resizeMode","accessibilityLabel","avatarText","numberOfLines"],"sourceRoot":"../../../../../src","sources":["components/ui/DrawerHeader/DrawerHeader.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAC1D,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;AACiB,CAAC,EAAqB;EACvC,MAAMC,MAAM,GAAGX,eAAe,CAACC,UAAU,CAAC;EAC1C,MAAM,CAACW,WAAW,EAAEC,cAAc,CAAC,GAAGjB,QAAQ,CAAC,KAAK,CAAC;EACrD;EACA,MAAMkB,UAAU,GAAGnB,MAAM,CAAC,IAAI,CAAC;EAC/BD,SAAS,CACP,MAAM,MAAM;IACVoB,UAAU,CAACC,OAAO,GAAG,KAAK;EAC5B,CAAC,EACD,EACF,CAAC;EACD,MAAMC,gBAAgB,GAAGA,CAAA,KAAM;IAC7B,IAAIF,UAAU,CAACC,OAAO,EAAEF,cAAc,CAAC,IAAI,CAAC;EAC9C,CAAC;EACD,MAAMI,OAAO,GAAGV,IAAI,CAACW,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG;EACrC,MAAMC,SAAS,GAAGV,MAAM,IAAI,IAAI,IAAI,CAACG,WAAW;EAChD,oBACEP,KAAA,CAACN,IAAI;IAACqB,KAAK,EAAET,MAAM,CAACU,MAAO;IAACX,MAAM,EAAEA,MAAO;IAAAY,QAAA,gBACzCnB,IAAA,CAACJ,IAAI;MAACqB,KAAK,EAAE,CAACT,MAAM,CAACY,MAAM,EAAEJ,SAAS,IAAIR,MAAM,CAACa,eAAe,CAAE;MAAAF,QAAA,EAC/DH,SAAS,gBACRhB,IAAA,CAACN,KAAK;QACJY,MAAM,EAAEA,MAAO;QACfgB,OAAO,EAAET,gBAAiB;QAC1BI,KAAK,EAAET,MAAM,CAACe,WAAY;QAC1BC,UAAU,EAAC,OAAO;QAClBC,kBAAkB,EAAErB;MAAK,CAC1B,CAAC,gBAEFJ,IAAA,CAACL,IAAI;QAACsB,KAAK,EAAET,MAAM,CAACkB,UAAW;QAAAP,QAAA,EAAEL;MAAO,CAAO;IAChD,CACG,CAAC,eACPd,IAAA,CAACL,IAAI;MAACsB,KAAK,EAAET,MAAM,CAACJ,IAAK;MAACuB,aAAa,EAAE,CAAE;MAAAR,QAAA,EACxCf;IAAI,CACD,CAAC,EACNC,QAAQ,gBACPL,IAAA,CAACL,IAAI;MAACsB,KAAK,EAAET,MAAM,CAACH,QAAS;MAACsB,aAAa,EAAE,CAAE;MAAAR,QAAA,EAC5Cd;IAAQ,CACL,CAAC,GACL,IAAI;EAAA,CACJ,CAAC;AAEX","ignoreList":[]}
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":[]}