@unif/react-native-design 0.33.0 → 0.34.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 (188) hide show
  1. package/lib/module/components/ui/ActionMenuContent/ActionMenuContent.js +97 -0
  2. package/lib/module/components/ui/ActionMenuContent/ActionMenuContent.js.map +1 -0
  3. package/lib/module/components/ui/ActionMenuContent/index.js +4 -0
  4. package/lib/module/components/ui/ActionMenuContent/index.js.map +1 -0
  5. package/lib/module/components/ui/ActionMenuContent/styles.js +54 -0
  6. package/lib/module/components/ui/ActionMenuContent/styles.js.map +1 -0
  7. package/lib/module/components/ui/ActionMenuContent/types.js.map +1 -0
  8. package/lib/module/components/ui/Avatar/Avatar.js +3 -3
  9. package/lib/module/components/ui/Avatar/Avatar.js.map +1 -1
  10. package/lib/module/components/ui/Button/ButtonBase.js +10 -2
  11. package/lib/module/components/ui/Button/ButtonBase.js.map +1 -1
  12. package/lib/module/components/ui/DrawerHeader/DrawerHeader.js +3 -3
  13. package/lib/module/components/ui/DrawerHeader/DrawerHeader.js.map +1 -1
  14. package/lib/module/components/ui/IconButton/IconButton.js +5 -1
  15. package/lib/module/components/ui/IconButton/IconButton.js.map +1 -1
  16. package/lib/module/components/ui/ImagePreview/ImagePreview.js +200 -0
  17. package/lib/module/components/ui/ImagePreview/ImagePreview.js.map +1 -0
  18. package/lib/module/components/ui/ImagePreview/constants.js +5 -0
  19. package/lib/module/components/ui/ImagePreview/constants.js.map +1 -0
  20. package/lib/module/components/ui/ImagePreview/index.js +4 -0
  21. package/lib/module/components/ui/ImagePreview/index.js.map +1 -0
  22. package/lib/module/components/ui/ImagePreview/styles.js +55 -0
  23. package/lib/module/components/ui/ImagePreview/styles.js.map +1 -0
  24. package/lib/module/components/ui/ImagePreview/types.js +4 -0
  25. package/lib/module/components/ui/ImagePreview/types.js.map +1 -0
  26. package/lib/module/components/ui/Sheet/Sheet.js +40 -0
  27. package/lib/module/components/ui/Sheet/Sheet.js.map +1 -0
  28. package/lib/module/components/ui/Sheet/index.js +4 -0
  29. package/lib/module/components/ui/Sheet/index.js.map +1 -0
  30. package/lib/module/components/ui/Sheet/styles.js +41 -0
  31. package/lib/module/components/ui/Sheet/styles.js.map +1 -0
  32. package/lib/module/components/ui/Sheet/types.js +4 -0
  33. package/lib/module/components/ui/Sheet/types.js.map +1 -0
  34. package/lib/module/components/ui/SmsField/SmsField.js +40 -0
  35. package/lib/module/components/ui/SmsField/SmsField.js.map +1 -0
  36. package/lib/module/components/ui/SmsField/index.js +4 -0
  37. package/lib/module/components/ui/SmsField/index.js.map +1 -0
  38. package/lib/module/components/ui/SmsField/types.js +4 -0
  39. package/lib/module/components/ui/SmsField/types.js.map +1 -0
  40. package/lib/module/components/ui/TextEntryContent/TextEntryContent.js +60 -0
  41. package/lib/module/components/ui/TextEntryContent/TextEntryContent.js.map +1 -0
  42. package/lib/module/components/ui/TextEntryContent/index.js +4 -0
  43. package/lib/module/components/ui/TextEntryContent/index.js.map +1 -0
  44. package/lib/module/components/ui/TextEntryContent/styles.js +29 -0
  45. package/lib/module/components/ui/TextEntryContent/styles.js.map +1 -0
  46. package/lib/module/components/ui/TextEntryContent/types.js +4 -0
  47. package/lib/module/components/ui/TextEntryContent/types.js.map +1 -0
  48. package/lib/module/components/ui/Thumbnail/Thumbnail.js +3 -3
  49. package/lib/module/components/ui/Thumbnail/Thumbnail.js.map +1 -1
  50. package/lib/module/components/ui/index.js +5 -1
  51. package/lib/module/components/ui/index.js.map +1 -1
  52. package/lib/module/components/ui/shared/ImageAttempt.js.map +1 -1
  53. package/lib/module/components/ui/shared/selectImageAttemptSource.shared.js +6 -5
  54. package/lib/module/components/ui/shared/selectImageAttemptSource.shared.js.map +1 -1
  55. package/lib/module/components/ui/shared/useImageSource.js +11 -0
  56. package/lib/module/components/ui/shared/useImageSource.js.map +1 -0
  57. package/lib/module/icons/data.js +87 -1
  58. package/lib/module/icons/data.js.map +1 -1
  59. package/lib/module/utils/imageSource.js +47 -13
  60. package/lib/module/utils/imageSource.js.map +1 -1
  61. package/lib/typescript/src/components/ui/ActionMenuContent/ActionMenuContent.d.ts +4 -0
  62. package/lib/typescript/src/components/ui/ActionMenuContent/ActionMenuContent.d.ts.map +1 -0
  63. package/lib/typescript/src/components/ui/ActionMenuContent/index.d.ts +3 -0
  64. package/lib/typescript/src/components/ui/ActionMenuContent/index.d.ts.map +1 -0
  65. package/lib/typescript/src/components/ui/ActionMenuContent/styles.d.ts +51 -0
  66. package/lib/typescript/src/components/ui/ActionMenuContent/styles.d.ts.map +1 -0
  67. package/lib/typescript/src/components/ui/ActionMenuContent/types.d.ts +25 -0
  68. package/lib/typescript/src/components/ui/ActionMenuContent/types.d.ts.map +1 -0
  69. package/lib/typescript/src/components/ui/Button/ButtonBase.d.ts +3 -1
  70. package/lib/typescript/src/components/ui/Button/ButtonBase.d.ts.map +1 -1
  71. package/lib/typescript/src/components/ui/IconButton/IconButton.d.ts +1 -1
  72. package/lib/typescript/src/components/ui/IconButton/IconButton.d.ts.map +1 -1
  73. package/lib/typescript/src/components/ui/IconButton/types.d.ts +4 -0
  74. package/lib/typescript/src/components/ui/IconButton/types.d.ts.map +1 -1
  75. package/lib/typescript/src/components/ui/ImagePreview/ImagePreview.d.ts +3 -0
  76. package/lib/typescript/src/components/ui/ImagePreview/ImagePreview.d.ts.map +1 -0
  77. package/lib/typescript/src/components/ui/ImagePreview/constants.d.ts +3 -0
  78. package/lib/typescript/src/components/ui/ImagePreview/constants.d.ts.map +1 -0
  79. package/lib/typescript/src/components/ui/ImagePreview/index.d.ts +3 -0
  80. package/lib/typescript/src/components/ui/ImagePreview/index.d.ts.map +1 -0
  81. package/lib/typescript/src/components/ui/ImagePreview/styles.d.ts +56 -0
  82. package/lib/typescript/src/components/ui/ImagePreview/styles.d.ts.map +1 -0
  83. package/lib/typescript/src/components/ui/ImagePreview/types.d.ts +33 -0
  84. package/lib/typescript/src/components/ui/ImagePreview/types.d.ts.map +1 -0
  85. package/lib/typescript/src/components/ui/Sheet/Sheet.d.ts +4 -0
  86. package/lib/typescript/src/components/ui/Sheet/Sheet.d.ts.map +1 -0
  87. package/lib/typescript/src/components/ui/Sheet/index.d.ts +3 -0
  88. package/lib/typescript/src/components/ui/Sheet/index.d.ts.map +1 -0
  89. package/lib/typescript/src/components/ui/Sheet/styles.d.ts +38 -0
  90. package/lib/typescript/src/components/ui/Sheet/styles.d.ts.map +1 -0
  91. package/lib/typescript/src/components/ui/Sheet/types.d.ts +13 -0
  92. package/lib/typescript/src/components/ui/Sheet/types.d.ts.map +1 -0
  93. package/lib/typescript/src/components/ui/SmsField/SmsField.d.ts +4 -0
  94. package/lib/typescript/src/components/ui/SmsField/SmsField.d.ts.map +1 -0
  95. package/lib/typescript/src/components/ui/SmsField/index.d.ts +3 -0
  96. package/lib/typescript/src/components/ui/SmsField/index.d.ts.map +1 -0
  97. package/lib/typescript/src/components/ui/SmsField/types.d.ts +12 -0
  98. package/lib/typescript/src/components/ui/SmsField/types.d.ts.map +1 -0
  99. package/lib/typescript/src/components/ui/TextEntryContent/TextEntryContent.d.ts +4 -0
  100. package/lib/typescript/src/components/ui/TextEntryContent/TextEntryContent.d.ts.map +1 -0
  101. package/lib/typescript/src/components/ui/TextEntryContent/index.d.ts +3 -0
  102. package/lib/typescript/src/components/ui/TextEntryContent/index.d.ts.map +1 -0
  103. package/lib/typescript/src/components/ui/TextEntryContent/styles.d.ts +26 -0
  104. package/lib/typescript/src/components/ui/TextEntryContent/styles.d.ts.map +1 -0
  105. package/lib/typescript/src/components/ui/TextEntryContent/types.d.ts +18 -0
  106. package/lib/typescript/src/components/ui/TextEntryContent/types.d.ts.map +1 -0
  107. package/lib/typescript/src/components/ui/index.d.ts +10 -2
  108. package/lib/typescript/src/components/ui/index.d.ts.map +1 -1
  109. package/lib/typescript/src/components/ui/shared/ImageAttempt.d.ts +3 -2
  110. package/lib/typescript/src/components/ui/shared/ImageAttempt.d.ts.map +1 -1
  111. package/lib/typescript/src/components/ui/shared/selectImageAttemptSource.shared.d.ts +3 -2
  112. package/lib/typescript/src/components/ui/shared/selectImageAttemptSource.shared.d.ts.map +1 -1
  113. package/lib/typescript/src/components/ui/shared/useImageSource.d.ts +6 -0
  114. package/lib/typescript/src/components/ui/shared/useImageSource.d.ts.map +1 -0
  115. package/lib/typescript/src/icons/data.d.ts +1 -1
  116. package/lib/typescript/src/icons/data.d.ts.map +1 -1
  117. package/lib/typescript/src/utils/imageSource.d.ts +3 -2
  118. package/lib/typescript/src/utils/imageSource.d.ts.map +1 -1
  119. package/lib/typescript/type-tests/content-api.d.ts +2 -0
  120. package/lib/typescript/type-tests/content-api.d.ts.map +1 -0
  121. package/package.json +1 -1
  122. package/src/components/ui/ActionMenuContent/ActionMenuContent.tsx +118 -0
  123. package/src/components/ui/ActionMenuContent/index.ts +6 -0
  124. package/src/components/ui/ActionMenuContent/styles.ts +47 -0
  125. package/src/components/ui/ActionMenuContent/types.ts +27 -0
  126. package/src/components/ui/Avatar/Avatar.tsx +3 -3
  127. package/src/components/ui/Button/ButtonBase.tsx +11 -2
  128. package/src/components/ui/DrawerHeader/DrawerHeader.tsx +3 -3
  129. package/src/components/ui/IconButton/IconButton.tsx +9 -1
  130. package/src/components/ui/IconButton/types.ts +4 -0
  131. package/src/components/ui/ImagePreview/ImagePreview.tsx +243 -0
  132. package/src/components/ui/ImagePreview/constants.ts +2 -0
  133. package/src/components/ui/ImagePreview/index.ts +6 -0
  134. package/src/components/ui/ImagePreview/styles.ts +48 -0
  135. package/src/components/ui/ImagePreview/types.ts +37 -0
  136. package/src/components/ui/Sheet/Sheet.tsx +43 -0
  137. package/src/components/ui/Sheet/index.ts +2 -0
  138. package/src/components/ui/Sheet/styles.ts +40 -0
  139. package/src/components/ui/Sheet/types.ts +14 -0
  140. package/src/components/ui/SmsField/SmsField.tsx +40 -0
  141. package/src/components/ui/SmsField/index.ts +2 -0
  142. package/src/components/ui/SmsField/types.ts +15 -0
  143. package/src/components/ui/TextEntryContent/TextEntryContent.tsx +56 -0
  144. package/src/components/ui/TextEntryContent/index.ts +2 -0
  145. package/src/components/ui/TextEntryContent/styles.ts +17 -0
  146. package/src/components/ui/TextEntryContent/types.ts +18 -0
  147. package/src/components/ui/Thumbnail/Thumbnail.tsx +3 -3
  148. package/src/components/ui/index.ts +18 -2
  149. package/src/components/ui/shared/ImageAttempt.tsx +3 -2
  150. package/src/components/ui/shared/selectImageAttemptSource.shared.ts +7 -5
  151. package/src/components/ui/shared/useImageSource.ts +8 -0
  152. package/src/icons/data.ts +134 -0
  153. package/src/utils/imageSource.ts +78 -15
  154. package/lib/module/components/ui/BorderBeam/BorderBeam.js +0 -102
  155. package/lib/module/components/ui/BorderBeam/BorderBeam.js.map +0 -1
  156. package/lib/module/components/ui/BorderBeam/BorderBeam.web.js +0 -108
  157. package/lib/module/components/ui/BorderBeam/BorderBeam.web.js.map +0 -1
  158. package/lib/module/components/ui/BorderBeam/index.js +0 -4
  159. package/lib/module/components/ui/BorderBeam/index.js.map +0 -1
  160. package/lib/module/components/ui/BorderBeam/normalizeBorderBeam.js +0 -23
  161. package/lib/module/components/ui/BorderBeam/normalizeBorderBeam.js.map +0 -1
  162. package/lib/module/components/ui/BorderBeam/shared.js +0 -54
  163. package/lib/module/components/ui/BorderBeam/shared.js.map +0 -1
  164. package/lib/module/components/ui/BorderBeam/styles.js +0 -18
  165. package/lib/module/components/ui/BorderBeam/styles.js.map +0 -1
  166. package/lib/module/components/ui/BorderBeam/types.js.map +0 -1
  167. package/lib/typescript/src/components/ui/BorderBeam/BorderBeam.d.ts +0 -10
  168. package/lib/typescript/src/components/ui/BorderBeam/BorderBeam.d.ts.map +0 -1
  169. package/lib/typescript/src/components/ui/BorderBeam/BorderBeam.web.d.ts +0 -5
  170. package/lib/typescript/src/components/ui/BorderBeam/BorderBeam.web.d.ts.map +0 -1
  171. package/lib/typescript/src/components/ui/BorderBeam/index.d.ts +0 -3
  172. package/lib/typescript/src/components/ui/BorderBeam/index.d.ts.map +0 -1
  173. package/lib/typescript/src/components/ui/BorderBeam/normalizeBorderBeam.d.ts +0 -16
  174. package/lib/typescript/src/components/ui/BorderBeam/normalizeBorderBeam.d.ts.map +0 -1
  175. package/lib/typescript/src/components/ui/BorderBeam/shared.d.ts +0 -28
  176. package/lib/typescript/src/components/ui/BorderBeam/shared.d.ts.map +0 -1
  177. package/lib/typescript/src/components/ui/BorderBeam/styles.d.ts +0 -15
  178. package/lib/typescript/src/components/ui/BorderBeam/styles.d.ts.map +0 -1
  179. package/lib/typescript/src/components/ui/BorderBeam/types.d.ts +0 -23
  180. package/lib/typescript/src/components/ui/BorderBeam/types.d.ts.map +0 -1
  181. package/src/components/ui/BorderBeam/BorderBeam.tsx +0 -130
  182. package/src/components/ui/BorderBeam/BorderBeam.web.tsx +0 -127
  183. package/src/components/ui/BorderBeam/index.ts +0 -2
  184. package/src/components/ui/BorderBeam/normalizeBorderBeam.ts +0 -58
  185. package/src/components/ui/BorderBeam/shared.ts +0 -47
  186. package/src/components/ui/BorderBeam/styles.ts +0 -16
  187. package/src/components/ui/BorderBeam/types.ts +0 -23
  188. /package/lib/module/components/ui/{BorderBeam → ActionMenuContent}/types.js +0 -0
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+
3
+ import React, { useEffect, useState } from 'react';
4
+ import { Pressable, Text, View } from 'react-native';
5
+ import { useSafeAreaInsets } from 'react-native-safe-area-context';
6
+ import { space, useThemedStyles } from "../../../theme/index.js";
7
+ import { Button } from "../Button/index.js";
8
+ import { makeStyles } from "./styles.js";
9
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
10
+ export function ActionMenuContent({
11
+ actions,
12
+ onClose,
13
+ presentation = 'dialog',
14
+ title,
15
+ cancelLabel = '取消',
16
+ style,
17
+ testID = 'action-menu'
18
+ }) {
19
+ const styles = useThemedStyles(makeStyles);
20
+ const insets = useSafeAreaInsets();
21
+ const [confirmationId, setConfirmationId] = useState(null);
22
+ const isSheet = presentation === 'sheet';
23
+ const confirming = actions.find(action => action.id === confirmationId && action.confirmation !== undefined);
24
+ useEffect(() => {
25
+ if (!confirming) setConfirmationId(null);
26
+ }, [confirming]);
27
+ const content = /*#__PURE__*/_jsxs(Pressable, {
28
+ accessible: false,
29
+ testID: `${testID}-card`,
30
+ style: [isSheet ? styles.sheetCard : styles.dialogCard, isSheet && {
31
+ paddingBottom: insets.bottom + space[5]
32
+ }],
33
+ onPress: event => event.stopPropagation(),
34
+ children: [title ? /*#__PURE__*/_jsx(Text, {
35
+ testID: `${testID}-title`,
36
+ style: styles.title,
37
+ numberOfLines: 1,
38
+ ellipsizeMode: "tail",
39
+ children: title
40
+ }) : null, confirming?.confirmation ? /*#__PURE__*/_jsxs(_Fragment, {
41
+ children: [/*#__PURE__*/_jsx(Text, {
42
+ style: styles.confirmation,
43
+ accessibilityLiveRegion: "polite",
44
+ children: confirming.confirmation.message
45
+ }), /*#__PURE__*/_jsxs(View, {
46
+ style: styles.sheetActions,
47
+ children: [/*#__PURE__*/_jsx(Button, {
48
+ label: cancelLabel,
49
+ variant: "neutral",
50
+ style: styles.sheetAction,
51
+ onPress: () => setConfirmationId(null)
52
+ }), /*#__PURE__*/_jsx(Button, {
53
+ label: confirming.confirmation.confirmLabel,
54
+ variant: "danger",
55
+ disabled: confirming.disabled,
56
+ loading: confirming.loading,
57
+ style: styles.sheetAction,
58
+ onPress: () => {
59
+ onClose();
60
+ confirming.onPress();
61
+ }
62
+ })]
63
+ })]
64
+ }) : /*#__PURE__*/_jsxs(_Fragment, {
65
+ children: [/*#__PURE__*/_jsx(View, {
66
+ testID: `${testID}-actions`,
67
+ style: isSheet ? styles.sheetActions : undefined,
68
+ children: actions.map(action => /*#__PURE__*/_jsx(Button, {
69
+ label: action.label,
70
+ disabled: action.disabled,
71
+ loading: action.loading,
72
+ variant: isSheet ? action.tone ?? 'neutral' : 'text',
73
+ style: isSheet ? styles.sheetAction : undefined,
74
+ onPress: () => {
75
+ if (action.confirmation) {
76
+ setConfirmationId(action.id);
77
+ return;
78
+ }
79
+ action.onPress();
80
+ }
81
+ }, action.id))
82
+ }), !isSheet ? /*#__PURE__*/_jsx(Button, {
83
+ label: cancelLabel,
84
+ variant: "text",
85
+ onPress: onClose
86
+ }) : null]
87
+ })]
88
+ });
89
+ return /*#__PURE__*/_jsx(Pressable, {
90
+ accessible: false,
91
+ testID: testID,
92
+ style: [isSheet ? styles.sheetRoot : styles.dialogRoot, style],
93
+ onPress: onClose,
94
+ children: content
95
+ });
96
+ }
97
+ //# sourceMappingURL=ActionMenuContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useEffect","useState","Pressable","Text","View","useSafeAreaInsets","space","useThemedStyles","Button","makeStyles","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ActionMenuContent","actions","onClose","presentation","title","cancelLabel","style","testID","styles","insets","confirmationId","setConfirmationId","isSheet","confirming","find","action","id","confirmation","undefined","content","accessible","sheetCard","dialogCard","paddingBottom","bottom","onPress","event","stopPropagation","children","numberOfLines","ellipsizeMode","accessibilityLiveRegion","message","sheetActions","label","variant","sheetAction","confirmLabel","disabled","loading","map","tone","sheetRoot","dialogRoot"],"sourceRoot":"../../../../../src","sources":["components/ui/ActionMenuContent/ActionMenuContent.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export { ActionMenuContent } from "./ActionMenuContent.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ActionMenuContent"],"sourceRoot":"../../../../../src","sources":["components/ui/ActionMenuContent/index.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,wBAAqB","ignoreList":[]}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ import { StyleSheet } from 'react-native';
4
+ import { fw, radius, space, type as typography } from "../../../theme/index.js";
5
+ export const makeStyles = c => StyleSheet.create({
6
+ dialogRoot: {
7
+ flex: 1,
8
+ justifyContent: 'center',
9
+ alignItems: 'center',
10
+ backgroundColor: c.scrim
11
+ },
12
+ sheetRoot: {
13
+ flex: 1,
14
+ justifyContent: 'flex-end',
15
+ backgroundColor: c.scrim
16
+ },
17
+ dialogCard: {
18
+ backgroundColor: c.surface,
19
+ borderRadius: radius.xl,
20
+ padding: space[4],
21
+ width: '80%',
22
+ maxWidth: 400,
23
+ gap: space[2]
24
+ },
25
+ sheetCard: {
26
+ backgroundColor: c.surface,
27
+ borderTopLeftRadius: radius.xl,
28
+ borderTopRightRadius: radius.xl,
29
+ paddingHorizontal: space[5],
30
+ paddingTop: space[5],
31
+ gap: space[3]
32
+ },
33
+ title: {
34
+ color: c.foreground,
35
+ fontSize: typography.sm,
36
+ fontWeight: fw.semi,
37
+ textAlign: 'center',
38
+ paddingVertical: space[3]
39
+ },
40
+ confirmation: {
41
+ color: c.foregroundMuted,
42
+ fontSize: typography.xs,
43
+ textAlign: 'center'
44
+ },
45
+ sheetActions: {
46
+ flexDirection: 'row',
47
+ flexWrap: 'wrap',
48
+ gap: space[3]
49
+ },
50
+ sheetAction: {
51
+ flex: 1
52
+ }
53
+ });
54
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["StyleSheet","fw","radius","space","type","typography","makeStyles","c","create","dialogRoot","flex","justifyContent","alignItems","backgroundColor","scrim","sheetRoot","dialogCard","surface","borderRadius","xl","padding","width","maxWidth","gap","sheetCard","borderTopLeftRadius","borderTopRightRadius","paddingHorizontal","paddingTop","title","color","foreground","fontSize","sm","fontWeight","semi","textAlign","paddingVertical","confirmation","foregroundMuted","xs","sheetActions","flexDirection","flexWrap","sheetAction"],"sourceRoot":"../../../../../src","sources":["components/ui/ActionMenuContent/styles.ts"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,cAAc;AACzC,SAASC,EAAE,EAAEC,MAAM,EAAEC,KAAK,EAAEC,IAAI,IAAIC,UAAU,QAAQ,yBAAgB;AAEtE,OAAO,MAAMC,UAAU,GAAIC,CAAc,IACvCP,UAAU,CAACQ,MAAM,CAAC;EAChBC,UAAU,EAAE;IACVC,IAAI,EAAE,CAAC;IACPC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBC,eAAe,EAAEN,CAAC,CAACO;EACrB,CAAC;EACDC,SAAS,EAAE;IACTL,IAAI,EAAE,CAAC;IACPC,cAAc,EAAE,UAAU;IAC1BE,eAAe,EAAEN,CAAC,CAACO;EACrB,CAAC;EACDE,UAAU,EAAE;IACVH,eAAe,EAAEN,CAAC,CAACU,OAAO;IAC1BC,YAAY,EAAEhB,MAAM,CAACiB,EAAE;IACvBC,OAAO,EAAEjB,KAAK,CAAC,CAAC,CAAC;IACjBkB,KAAK,EAAE,KAAK;IACZC,QAAQ,EAAE,GAAG;IACbC,GAAG,EAAEpB,KAAK,CAAC,CAAC;EACd,CAAC;EACDqB,SAAS,EAAE;IACTX,eAAe,EAAEN,CAAC,CAACU,OAAO;IAC1BQ,mBAAmB,EAAEvB,MAAM,CAACiB,EAAE;IAC9BO,oBAAoB,EAAExB,MAAM,CAACiB,EAAE;IAC/BQ,iBAAiB,EAAExB,KAAK,CAAC,CAAC,CAAC;IAC3ByB,UAAU,EAAEzB,KAAK,CAAC,CAAC,CAAC;IACpBoB,GAAG,EAAEpB,KAAK,CAAC,CAAC;EACd,CAAC;EACD0B,KAAK,EAAE;IACLC,KAAK,EAAEvB,CAAC,CAACwB,UAAU;IACnBC,QAAQ,EAAE3B,UAAU,CAAC4B,EAAE;IACvBC,UAAU,EAAEjC,EAAE,CAACkC,IAAI;IACnBC,SAAS,EAAE,QAAQ;IACnBC,eAAe,EAAElC,KAAK,CAAC,CAAC;EAC1B,CAAC;EACDmC,YAAY,EAAE;IACZR,KAAK,EAAEvB,CAAC,CAACgC,eAAe;IACxBP,QAAQ,EAAE3B,UAAU,CAACmC,EAAE;IACvBJ,SAAS,EAAE;EACb,CAAC;EACDK,YAAY,EAAE;IAAEC,aAAa,EAAE,KAAK;IAAEC,QAAQ,EAAE,MAAM;IAAEpB,GAAG,EAAEpB,KAAK,CAAC,CAAC;EAAE,CAAC;EACvEyC,WAAW,EAAE;IAAElC,IAAI,EAAE;EAAE;AACzB,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../../../src","sources":["components/ui/ActionMenuContent/types.ts"],"mappings":"","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  import React from 'react';
4
4
  import { Text, View } from 'react-native';
5
5
  import { scaleFontMetric, useColors, useFontScale } from "../../../theme/index.js";
6
- import { resolveImageSource } from "../../../utils/imageSource.js";
6
+ import { useImageSource } from "../shared/useImageSource.js";
7
7
  import { ImageAttempt } from "../shared/ImageAttempt.js";
8
8
  import { paletteFor, styles } from "./styles.js";
9
9
  import { resolveAvatarBorderRadius, sizingFor } from "./geometry.js";
@@ -28,7 +28,7 @@ export function Avatar({
28
28
  const dims = sizingFor(size);
29
29
  const palette = paletteFor(variant, c);
30
30
  const labelFontSize = scaleFontMetric(dims.fs, fontScale);
31
- const resolvedSource = resolveImageSource(source);
31
+ const resolvedSource = useImageSource(source);
32
32
  const fallback = /*#__PURE__*/_jsx(Text, {
33
33
  style: [styles.label, {
34
34
  fontSize: labelFontSize,
@@ -48,7 +48,7 @@ export function Avatar({
48
48
  accessibilityLabel: label,
49
49
  testID: testID,
50
50
  children: resolvedSource === undefined ? fallback : /*#__PURE__*/_jsx(ImageAttempt, {
51
- source: resolvedSource.source,
51
+ source: resolvedSource,
52
52
  fallback: fallback,
53
53
  style: styles.image,
54
54
  resizeMode: "cover"
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","View","scaleFontMetric","useColors","useFontScale","resolveImageSource","ImageAttempt","paletteFor","styles","resolveAvatarBorderRadius","sizingFor","jsx","_jsx","Avatar","label","size","shape","variant","source","style","testID","c","fontScale","dims","palette","labelFontSize","fs","resolvedSource","fallback","fontSize","color","fg","numberOfLines","children","base","width","box","height","borderRadius","backgroundColor","bg","accessible","accessibilityLabel","undefined","image","resizeMode","key"],"sourceRoot":"../../../../../src","sources":["components/ui/Avatar/Avatar.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACzC,SAASC,eAAe,EAAEC,SAAS,EAAEC,YAAY,QAAQ,yBAAgB;AACzE,SAASC,kBAAkB,QAAQ,+BAA4B;AAC/D,SAASC,YAAY,QAAQ,2BAAwB;AACrD,SAASC,UAAU,EAAEC,MAAM,QAAQ,aAAU;AAC7C,SAASC,yBAAyB,EAAEC,SAAS,QAAQ,eAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGlE;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,MAAMA,CAAC;EACrBC,KAAK;EACLC,IAAI,GAAG,IAAI;EACXC,KAAK,GAAG,QAAQ;EAChBC,OAAO,GAAG,SAAS;EACnBC,MAAM;EACNC,KAAK;EACLC;AACW,CAAC,EAAqB;EACjC,MAAMC,CAAC,GAAGlB,SAAS,CAAC,CAAC;EACrB,MAAMmB,SAAS,GAAGlB,YAAY,CAAC,CAAC;EAChC,MAAMmB,IAAI,GAAGb,SAAS,CAACK,IAAI,CAAC;EAC5B,MAAMS,OAAO,GAAGjB,UAAU,CAACU,OAAO,EAAEI,CAAC,CAAC;EACtC,MAAMI,aAAa,GAAGvB,eAAe,CAACqB,IAAI,CAACG,EAAE,EAAEJ,SAAS,CAAC;EACzD,MAAMK,cAAc,GAAGtB,kBAAkB,CAACa,MAAM,CAAC;EACjD,MAAMU,QAAQ,gBACZhB,IAAA,CAACZ,IAAI;IACHmB,KAAK,EAAE,CAACX,MAAM,CAACM,KAAK,EAAE;MAAEe,QAAQ,EAAEJ,aAAa;MAAEK,KAAK,EAAEN,OAAO,CAACO;IAAG,CAAC,CAAE;IACtEC,aAAa,EAAE,CAAE;IAAAC,QAAA,EAEhBnB;EAAK,CACF,CACP;EAED,oBACEF,IAAA,CAACX,IAAI;IACHkB,KAAK,EAAE,CACLX,MAAM,CAAC0B,IAAI,EACX;MACEC,KAAK,EAAEZ,IAAI,CAACa,GAAG;MACfC,MAAM,EAAEd,IAAI,CAACa,GAAG;MAChBE,YAAY,EAAE7B,yBAAyB,CAACM,IAAI,EAAEC,KAAK,CAAC;MACpDuB,eAAe,EAAEf,OAAO,CAACgB;IAC3B,CAAC,EACDrB,KAAK,CACL;IACFsB,UAAU,EAAE,CAAC,CAAC3B,KAAM;IACpB4B,kBAAkB,EAAE5B,KAAM;IAC1BM,MAAM,EAAEA,MAAO;IAAAa,QAAA,EAEdN,cAAc,KAAKgB,SAAS,GAC3Bf,QAAQ,gBAERhB,IAAA,CAACN,YAAY;MAEXY,MAAM,EAAES,cAAc,CAACT,MAAO;MAC9BU,QAAQ,EAAEA,QAAS;MACnBT,KAAK,EAAEX,MAAM,CAACoC,KAAM;MACpBC,UAAU,EAAC;IAAO,GAJblB,cAAc,CAACmB,GAKrB;EACF,CACG,CAAC;AAEX","ignoreList":[]}
1
+ {"version":3,"names":["React","Text","View","scaleFontMetric","useColors","useFontScale","useImageSource","ImageAttempt","paletteFor","styles","resolveAvatarBorderRadius","sizingFor","jsx","_jsx","Avatar","label","size","shape","variant","source","style","testID","c","fontScale","dims","palette","labelFontSize","fs","resolvedSource","fallback","fontSize","color","fg","numberOfLines","children","base","width","box","height","borderRadius","backgroundColor","bg","accessible","accessibilityLabel","undefined","image","resizeMode","key"],"sourceRoot":"../../../../../src","sources":["components/ui/Avatar/Avatar.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACzC,SAASC,eAAe,EAAEC,SAAS,EAAEC,YAAY,QAAQ,yBAAgB;AACzE,SAASC,cAAc,QAAQ,6BAA0B;AACzD,SAASC,YAAY,QAAQ,2BAAwB;AACrD,SAASC,UAAU,EAAEC,MAAM,QAAQ,aAAU;AAC7C,SAASC,yBAAyB,EAAEC,SAAS,QAAQ,eAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGlE;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,MAAMA,CAAC;EACrBC,KAAK;EACLC,IAAI,GAAG,IAAI;EACXC,KAAK,GAAG,QAAQ;EAChBC,OAAO,GAAG,SAAS;EACnBC,MAAM;EACNC,KAAK;EACLC;AACW,CAAC,EAAqB;EACjC,MAAMC,CAAC,GAAGlB,SAAS,CAAC,CAAC;EACrB,MAAMmB,SAAS,GAAGlB,YAAY,CAAC,CAAC;EAChC,MAAMmB,IAAI,GAAGb,SAAS,CAACK,IAAI,CAAC;EAC5B,MAAMS,OAAO,GAAGjB,UAAU,CAACU,OAAO,EAAEI,CAAC,CAAC;EACtC,MAAMI,aAAa,GAAGvB,eAAe,CAACqB,IAAI,CAACG,EAAE,EAAEJ,SAAS,CAAC;EACzD,MAAMK,cAAc,GAAGtB,cAAc,CAACa,MAAM,CAAC;EAC7C,MAAMU,QAAQ,gBACZhB,IAAA,CAACZ,IAAI;IACHmB,KAAK,EAAE,CAACX,MAAM,CAACM,KAAK,EAAE;MAAEe,QAAQ,EAAEJ,aAAa;MAAEK,KAAK,EAAEN,OAAO,CAACO;IAAG,CAAC,CAAE;IACtEC,aAAa,EAAE,CAAE;IAAAC,QAAA,EAEhBnB;EAAK,CACF,CACP;EAED,oBACEF,IAAA,CAACX,IAAI;IACHkB,KAAK,EAAE,CACLX,MAAM,CAAC0B,IAAI,EACX;MACEC,KAAK,EAAEZ,IAAI,CAACa,GAAG;MACfC,MAAM,EAAEd,IAAI,CAACa,GAAG;MAChBE,YAAY,EAAE7B,yBAAyB,CAACM,IAAI,EAAEC,KAAK,CAAC;MACpDuB,eAAe,EAAEf,OAAO,CAACgB;IAC3B,CAAC,EACDrB,KAAK,CACL;IACFsB,UAAU,EAAE,CAAC,CAAC3B,KAAM;IACpB4B,kBAAkB,EAAE5B,KAAM;IAC1BM,MAAM,EAAEA,MAAO;IAAAa,QAAA,EAEdN,cAAc,KAAKgB,SAAS,GAC3Bf,QAAQ,gBAERhB,IAAA,CAACN,YAAY;MAEXY,MAAM,EAAES,cAAe;MACvBC,QAAQ,EAAEA,QAAS;MACnBT,KAAK,EAAEX,MAAM,CAACoC,KAAM;MACpBC,UAAU,EAAC;IAAO,GAJblB,cAAc,CAACmB,GAKrB;EACF,CACG,CAAC;AAEX","ignoreList":[]}
@@ -17,6 +17,8 @@ export function ButtonBase({
17
17
  loading,
18
18
  block,
19
19
  square,
20
+ surfaceSize,
21
+ loadingSize,
20
22
  accessibilityLabel,
21
23
  accessibilityRole = 'button',
22
24
  accessibilityHint,
@@ -27,7 +29,13 @@ export function ButtonBase({
27
29
  }) {
28
30
  const c = useColors();
29
31
  const styles = useThemedStyles(makeStyles);
30
- const sizing = useMemo(() => sizingFor(size), [size]);
32
+ const sizing = useMemo(() => {
33
+ const base = sizingFor(size);
34
+ return square && surfaceSize !== undefined ? {
35
+ ...base,
36
+ h: surfaceSize
37
+ } : base;
38
+ }, [size, square, surfaceSize]);
31
39
  const palette = useMemo(() => paletteFor(variant, c), [variant, c]);
32
40
  const isText = variant === 'text';
33
41
  const unavailable = disabled === true || loading === true;
@@ -96,7 +104,7 @@ export function ButtonBase({
96
104
  gap: sizing.gap
97
105
  }, style],
98
106
  children: loading ? /*#__PURE__*/_jsx(ActivityIndicator, {
99
- size: "small",
107
+ size: loadingSize ?? 'small',
100
108
  color: palette.fg
101
109
  }) : children({
102
110
  sizing,
@@ -1 +1 @@
1
- {"version":3,"names":["React","useMemo","ActivityIndicator","Pressable","fixed","pressedOpacity","useColors","useThemedStyles","makeStyles","paletteFor","sizingFor","jsx","_jsx","ButtonBase","onPress","size","variant","disabled","loading","block","square","accessibilityLabel","accessibilityRole","accessibilityHint","accessibilityState","style","testID","children","c","styles","sizing","palette","isText","unavailable","hasAccessibleName","undefined","hitSlop","v","Math","round","hitTarget","top","bottom","left","right","max","h","accessible","busy","pressed","base","height","width","paddingHorizontal","px","borderRadius","br","backgroundColor","bg","borderColor","border","borderWidth","opacity","alignSelf","gap","color","fg"],"sourceRoot":"../../../../../src","sources":["components/ui/Button/ButtonBase.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useMemo","ActivityIndicator","Pressable","fixed","pressedOpacity","useColors","useThemedStyles","makeStyles","paletteFor","sizingFor","jsx","_jsx","ButtonBase","onPress","size","variant","disabled","loading","block","square","surfaceSize","loadingSize","accessibilityLabel","accessibilityRole","accessibilityHint","accessibilityState","style","testID","children","c","styles","sizing","base","undefined","h","palette","isText","unavailable","hasAccessibleName","hitSlop","v","Math","round","hitTarget","top","bottom","left","right","max","accessible","busy","pressed","height","width","paddingHorizontal","px","borderRadius","br","backgroundColor","bg","borderColor","border","borderWidth","opacity","alignSelf","gap","color","fg"],"sourceRoot":"../../../../../src","sources":["components/ui/Button/ButtonBase.tsx"],"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 { useThemedStyles } from "../../../theme/index.js";
6
- import { resolveImageSource } from "../../../utils/imageSource.js";
6
+ import { useImageSource } from "../shared/useImageSource.js";
7
7
  import { A11Y_HIDDEN_PROPS } from "../shared/a11y.js";
8
8
  import { ImageAttempt } from "../shared/ImageAttempt.js";
9
9
  import { makeStyles } from "./styles.js";
@@ -22,7 +22,7 @@ export function DrawerHeader({
22
22
  const styles = useThemedStyles(makeStyles);
23
23
  // [L-51] 码点级取首字,防 emoji / 代理对被截断为乱码。
24
24
  const initial = [...name.trim()][0] ?? '?';
25
- const resolvedSource = resolveImageSource(source);
25
+ const resolvedSource = useImageSource(source);
26
26
  const fallback = /*#__PURE__*/_jsx(Text, {
27
27
  style: styles.avatarText,
28
28
  children: initial
@@ -34,7 +34,7 @@ export function DrawerHeader({
34
34
  ...A11Y_HIDDEN_PROPS,
35
35
  style: [styles.avatar, resolvedSource !== undefined && styles.avatarImageMode],
36
36
  children: resolvedSource === undefined ? fallback : /*#__PURE__*/_jsx(ImageAttempt, {
37
- source: resolvedSource.source,
37
+ source: resolvedSource,
38
38
  fallback: fallback,
39
39
  style: styles.avatarImage,
40
40
  resizeMode: "cover"
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","View","useThemedStyles","resolveImageSource","A11Y_HIDDEN_PROPS","ImageAttempt","makeStyles","jsx","_jsx","jsxs","_jsxs","DrawerHeader","name","subtitle","source","style","testID","styles","initial","trim","resolvedSource","fallback","avatarText","children","header","avatar","undefined","avatarImageMode","avatarImage","resizeMode","key","numberOfLines"],"sourceRoot":"../../../../../src","sources":["components/ui/DrawerHeader/DrawerHeader.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACzC,SAASC,eAAe,QAAQ,yBAAgB;AAChD,SAASC,kBAAkB,QAAQ,+BAA4B;AAC/D,SAASC,iBAAiB,QAAQ,mBAAgB;AAClD,SAASC,YAAY,QAAQ,2BAAwB;AACrD,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,GAAGf,eAAe,CAACI,UAAU,CAAC;EAC1C;EACA,MAAMY,OAAO,GAAG,CAAC,GAAGN,IAAI,CAACO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG;EAC1C,MAAMC,cAAc,GAAGjB,kBAAkB,CAACW,MAAM,CAAC;EACjD,MAAMO,QAAQ,gBAAGb,IAAA,CAACR,IAAI;IAACe,KAAK,EAAEE,MAAM,CAACK,UAAW;IAAAC,QAAA,EAAEL;EAAO,CAAO,CAAC;EAEjE,oBACER,KAAA,CAACT,IAAI;IAACc,KAAK,EAAE,CAACE,MAAM,CAACO,MAAM,EAAET,KAAK,CAAE;IAACC,MAAM,EAAEA,MAAO;IAAAO,QAAA,gBAClDf,IAAA,CAACP,IAAI;MAAA,GACCG,iBAAiB;MACrBW,KAAK,EAAE,CACLE,MAAM,CAACQ,MAAM,EACbL,cAAc,KAAKM,SAAS,IAAIT,MAAM,CAACU,eAAe,CACtD;MAAAJ,QAAA,EAEDH,cAAc,KAAKM,SAAS,GAC3BL,QAAQ,gBAERb,IAAA,CAACH,YAAY;QAEXS,MAAM,EAAEM,cAAc,CAACN,MAAO;QAC9BO,QAAQ,EAAEA,QAAS;QACnBN,KAAK,EAAEE,MAAM,CAACW,WAAY;QAC1BC,UAAU,EAAC;MAAO,GAJbT,cAAc,CAACU,GAKrB;IACF,CACG,CAAC,eACPtB,IAAA,CAACR,IAAI;MAACe,KAAK,EAAEE,MAAM,CAACL,IAAK;MAACmB,aAAa,EAAE,CAAE;MAAAR,QAAA,EACxCX;IAAI,CACD,CAAC,EACNC,QAAQ,gBACPL,IAAA,CAACR,IAAI;MAACe,KAAK,EAAEE,MAAM,CAACJ,QAAS;MAACkB,aAAa,EAAE,CAAE;MAAAR,QAAA,EAC5CV;IAAQ,CACL,CAAC,GACL,IAAI;EAAA,CACJ,CAAC;AAEX","ignoreList":[]}
1
+ {"version":3,"names":["React","Text","View","useThemedStyles","useImageSource","A11Y_HIDDEN_PROPS","ImageAttempt","makeStyles","jsx","_jsx","jsxs","_jsxs","DrawerHeader","name","subtitle","source","style","testID","styles","initial","trim","resolvedSource","fallback","avatarText","children","header","avatar","undefined","avatarImageMode","avatarImage","resizeMode","key","numberOfLines"],"sourceRoot":"../../../../../src","sources":["components/ui/DrawerHeader/DrawerHeader.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,IAAI,EAAEC,IAAI,QAAQ,cAAc;AACzC,SAASC,eAAe,QAAQ,yBAAgB;AAChD,SAASC,cAAc,QAAQ,6BAA0B;AACzD,SAASC,iBAAiB,QAAQ,mBAAgB;AAClD,SAASC,YAAY,QAAQ,2BAAwB;AACrD,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,GAAGf,eAAe,CAACI,UAAU,CAAC;EAC1C;EACA,MAAMY,OAAO,GAAG,CAAC,GAAGN,IAAI,CAACO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG;EAC1C,MAAMC,cAAc,GAAGjB,cAAc,CAACW,MAAM,CAAC;EAC7C,MAAMO,QAAQ,gBAAGb,IAAA,CAACR,IAAI;IAACe,KAAK,EAAEE,MAAM,CAACK,UAAW;IAAAC,QAAA,EAAEL;EAAO,CAAO,CAAC;EAEjE,oBACER,KAAA,CAACT,IAAI;IAACc,KAAK,EAAE,CAACE,MAAM,CAACO,MAAM,EAAET,KAAK,CAAE;IAACC,MAAM,EAAEA,MAAO;IAAAO,QAAA,gBAClDf,IAAA,CAACP,IAAI;MAAA,GACCG,iBAAiB;MACrBW,KAAK,EAAE,CACLE,MAAM,CAACQ,MAAM,EACbL,cAAc,KAAKM,SAAS,IAAIT,MAAM,CAACU,eAAe,CACtD;MAAAJ,QAAA,EAEDH,cAAc,KAAKM,SAAS,GAC3BL,QAAQ,gBAERb,IAAA,CAACH,YAAY;QAEXS,MAAM,EAAEM,cAAe;QACvBC,QAAQ,EAAEA,QAAS;QACnBN,KAAK,EAAEE,MAAM,CAACW,WAAY;QAC1BC,UAAU,EAAC;MAAO,GAJbT,cAAc,CAACU,GAKrB;IACF,CACG,CAAC,eACPtB,IAAA,CAACR,IAAI;MAACe,KAAK,EAAEE,MAAM,CAACL,IAAK;MAACmB,aAAa,EAAE,CAAE;MAAAR,QAAA,EACxCX;IAAI,CACD,CAAC,EACNC,QAAQ,gBACPL,IAAA,CAACR,IAAI;MAACe,KAAK,EAAEE,MAAM,CAACJ,QAAS;MAACkB,aAAa,EAAE,CAAE;MAAAR,QAAA,EAC5CV;IAAQ,CACL,CAAC,GACL,IAAI;EAAA,CACJ,CAAC;AAEX","ignoreList":[]}
@@ -21,6 +21,8 @@ export function IconButton({
21
21
  icon,
22
22
  onPress,
23
23
  size = 'md',
24
+ iconSize,
25
+ surfaceSize,
24
26
  variant = 'ghost',
25
27
  color,
26
28
  disabled,
@@ -42,6 +44,8 @@ export function IconButton({
42
44
  square: true,
43
45
  onPress: onPress,
44
46
  size: size,
47
+ surfaceSize: surfaceSize,
48
+ loadingSize: iconSize,
45
49
  variant: variant,
46
50
  loading: loading,
47
51
  disabled: disabled === true || hasBlankLabel,
@@ -55,7 +59,7 @@ export function IconButton({
55
59
  palette
56
60
  }) => /*#__PURE__*/_jsx(Icon, {
57
61
  name: icon,
58
- size: sizing.fs + 4,
62
+ size: iconSize ?? sizing.fs + 4,
59
63
  color: color ?? palette.fg
60
64
  })
61
65
  });
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","createLogger","ButtonBase","Icon","normalizeNonBlankText","jsx","_jsx","log","IconButton","icon","onPress","size","variant","color","disabled","loading","accessibilityLabel","accessibilityHint","accessibilityState","style","testID","accessibleName","hasBlankLabel","undefined","warn","square","children","sizing","palette","name","fs","fg"],"sourceRoot":"../../../../../src","sources":["components/ui/IconButton/IconButton.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,YAAY,QAAQ,gCAAuB;AACpD,SAASC,UAAU,QAAQ,yBAAsB;AACjD,SAASC,IAAI,QAAQ,kBAAS;AAC9B,SAASC,qBAAqB,QAAQ,gCAA6B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGpE,MAAMC,GAAG,GAAGN,YAAY,CAAC,YAAY,CAAC;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASO,UAAUA,CAAC;EACzBC,IAAI;EACJC,OAAO;EACPC,IAAI,GAAG,IAAI;EACXC,OAAO,GAAG,OAAO;EACjBC,KAAK;EACLC,QAAQ;EACRC,OAAO;EACPC,kBAAkB;EAClBC,iBAAiB;EACjBC,kBAAkB;EAClBC,KAAK;EACLC;AACe,CAAC,EAAqB;EACrC,MAAMC,cAAc,GAAGjB,qBAAqB,CAACY,kBAAkB,CAAC;EAChE,MAAMM,aAAa,GAAGD,cAAc,KAAKE,SAAS;EAElDvB,SAAS,CAAC,MAAM;IACd,IAAIsB,aAAa,EAAE;MACjBf,GAAG,CAACiB,IAAI,CACN,oDACF,CAAC;IACH;EACF,CAAC,EAAE,CAACF,aAAa,CAAC,CAAC;EAEnB,oBACEhB,IAAA,CAACJ,UAAU;IACTuB,MAAM;IACNf,OAAO,EAAEA,OAAQ;IACjBC,IAAI,EAAEA,IAAK;IACXC,OAAO,EAAEA,OAAQ;IACjBG,OAAO,EAAEA,OAAQ;IACjBD,QAAQ,EAAEA,QAAQ,KAAK,IAAI,IAAIQ,aAAc;IAC7CN,kBAAkB,EAAEK,cAAe;IACnCJ,iBAAiB,EAAEA,iBAAkB;IACrCC,kBAAkB,EAAEA,kBAAmB;IACvCC,KAAK,EAAEA,KAAM;IACbC,MAAM,EAAEA,MAAO;IAAAM,QAAA,EAEdA,CAAC;MAAEC,MAAM;MAAEC;IAAQ,CAAC,kBACnBtB,IAAA,CAACH,IAAI;MAAC0B,IAAI,EAAEpB,IAAK;MAACE,IAAI,EAAEgB,MAAM,CAACG,EAAE,GAAG,CAAE;MAACjB,KAAK,EAAEA,KAAK,IAAIe,OAAO,CAACG;IAAG,CAAE;EACrE,CACS,CAAC;AAEjB","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","createLogger","ButtonBase","Icon","normalizeNonBlankText","jsx","_jsx","log","IconButton","icon","onPress","size","iconSize","surfaceSize","variant","color","disabled","loading","accessibilityLabel","accessibilityHint","accessibilityState","style","testID","accessibleName","hasBlankLabel","undefined","warn","square","loadingSize","children","sizing","palette","name","fs","fg"],"sourceRoot":"../../../../../src","sources":["components/ui/IconButton/IconButton.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,SAAS,QAAQ,OAAO;AACxC,SAASC,YAAY,QAAQ,gCAAuB;AACpD,SAASC,UAAU,QAAQ,yBAAsB;AACjD,SAASC,IAAI,QAAQ,kBAAS;AAC9B,SAASC,qBAAqB,QAAQ,gCAA6B;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAGpE,MAAMC,GAAG,GAAGN,YAAY,CAAC,YAAY,CAAC;;AAEtC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASO,UAAUA,CAAC;EACzBC,IAAI;EACJC,OAAO;EACPC,IAAI,GAAG,IAAI;EACXC,QAAQ;EACRC,WAAW;EACXC,OAAO,GAAG,OAAO;EACjBC,KAAK;EACLC,QAAQ;EACRC,OAAO;EACPC,kBAAkB;EAClBC,iBAAiB;EACjBC,kBAAkB;EAClBC,KAAK;EACLC;AACe,CAAC,EAAqB;EACrC,MAAMC,cAAc,GAAGnB,qBAAqB,CAACc,kBAAkB,CAAC;EAChE,MAAMM,aAAa,GAAGD,cAAc,KAAKE,SAAS;EAElDzB,SAAS,CAAC,MAAM;IACd,IAAIwB,aAAa,EAAE;MACjBjB,GAAG,CAACmB,IAAI,CACN,oDACF,CAAC;IACH;EACF,CAAC,EAAE,CAACF,aAAa,CAAC,CAAC;EAEnB,oBACElB,IAAA,CAACJ,UAAU;IACTyB,MAAM;IACNjB,OAAO,EAAEA,OAAQ;IACjBC,IAAI,EAAEA,IAAK;IACXE,WAAW,EAAEA,WAAY;IACzBe,WAAW,EAAEhB,QAAS;IACtBE,OAAO,EAAEA,OAAQ;IACjBG,OAAO,EAAEA,OAAQ;IACjBD,QAAQ,EAAEA,QAAQ,KAAK,IAAI,IAAIQ,aAAc;IAC7CN,kBAAkB,EAAEK,cAAe;IACnCJ,iBAAiB,EAAEA,iBAAkB;IACrCC,kBAAkB,EAAEA,kBAAmB;IACvCC,KAAK,EAAEA,KAAM;IACbC,MAAM,EAAEA,MAAO;IAAAO,QAAA,EAEdA,CAAC;MAAEC,MAAM;MAAEC;IAAQ,CAAC,kBACnBzB,IAAA,CAACH,IAAI;MACH6B,IAAI,EAAEvB,IAAK;MACXE,IAAI,EAAEC,QAAQ,IAAIkB,MAAM,CAACG,EAAE,GAAG,CAAE;MAChClB,KAAK,EAAEA,KAAK,IAAIgB,OAAO,CAACG;IAAG,CAC5B;EACF,CACS,CAAC;AAEjB","ignoreList":[]}
@@ -0,0 +1,200 @@
1
+ "use strict";
2
+
3
+ import { forwardRef, useEffect, useImperativeHandle, useLayoutEffect, useMemo, useRef, useState } from 'react';
4
+ import { Text, View } from 'react-native';
5
+ import { radius, useThemedStyles } from "../../../theme/index.js";
6
+ import { IconButton } from "../IconButton/index.js";
7
+ import { Thumbnail } from "../Thumbnail/index.js";
8
+ import { Carousel } from 'react-native-reanimated-carousel';
9
+ import { DELETE_LABEL, IMAGE_UNAVAILABLE } from "./constants.js";
10
+ import { makeStyles } from "./styles.js";
11
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
+ export const ImagePreview = /*#__PURE__*/forwardRef(function ImagePreviewInner({
13
+ items,
14
+ width,
15
+ height,
16
+ initialId,
17
+ onCurrentChange,
18
+ onRequestDelete,
19
+ style,
20
+ testID
21
+ }, ref) {
22
+ const styles = useThemedStyles(makeStyles);
23
+ const carouselRef = useRef(null);
24
+ const mounted = useRef(false);
25
+ const moving = useRef(false);
26
+ const pendingScroll = useRef(undefined);
27
+ const [selection, setSelection] = useState(() => ({
28
+ items,
29
+ index: Math.max(0, items.findIndex(item => item.id === initialId)),
30
+ initialized: items.length > 0,
31
+ carouselRevision: 0
32
+ }));
33
+ if (selection.items !== items) {
34
+ const retainedIndex = items.findIndex(item => item.id === selection.items[selection.index]?.id);
35
+ const identityChanged = items.length !== selection.items.length || items.some((item, index) => item.id !== selection.items[index]?.id);
36
+ setSelection({
37
+ items,
38
+ // SDK 的非动画定位不能撤回已排队的旧完成;只重建在途且身份集合变化的轮播。
39
+ carouselRevision: selection.carouselRevision + (moving.current && identityChanged ? 1 : 0),
40
+ initialized: selection.initialized || items.length > 0,
41
+ index: !selection.initialized ? Math.max(0, items.findIndex(item => item.id === initialId)) : retainedIndex >= 0 ? retainedIndex : Math.max(0, Math.min(selection.index, items.length - 1))
42
+ });
43
+ }
44
+ const current = items[selection.index];
45
+ const committed = useRef(selection);
46
+ const currentChange = useRef(onCurrentChange);
47
+ useLayoutEffect(() => {
48
+ mounted.current = true;
49
+ committed.current = selection;
50
+ currentChange.current = onCurrentChange;
51
+ return () => {
52
+ mounted.current = false;
53
+ };
54
+ }, [selection, onCurrentChange]);
55
+ useLayoutEffect(() => {
56
+ moving.current = false;
57
+ }, [selection.carouselRevision]);
58
+ useEffect(() => {
59
+ const request = pendingScroll.current;
60
+ pendingScroll.current = undefined;
61
+ if (!request) return;
62
+ const index = committed.current.items.findIndex(item => item.id === request.id);
63
+ if (index >= 0) carouselRef.current?.scrollTo({
64
+ index,
65
+ animated: request.animated
66
+ });
67
+ }, [selection.carouselRevision]);
68
+ const notifiedId = useRef(undefined);
69
+ useEffect(() => {
70
+ // 待交接命令可能已同步完成,通知与句柄读取同一份已提交事实。
71
+ const displayed = committed.current.items[committed.current.index];
72
+ if (displayed?.id === notifiedId.current) return;
73
+ notifiedId.current = displayed?.id;
74
+ if (displayed) currentChange.current?.(displayed);
75
+ }, [current, onCurrentChange]);
76
+ useImperativeHandle(ref, () => ({
77
+ getCurrent: () => mounted.current ? committed.current.items[committed.current.index] : undefined,
78
+ scrollTo: (id, animated = true) => {
79
+ if (!mounted.current) return;
80
+ const index = committed.current.items.findIndex(item => item.id === id);
81
+ if (index < 0) return;
82
+ if (moving.current || pendingScroll.current) {
83
+ // 新命令隔离旧完成投递;新 ref 就绪后原样交接 animated。
84
+ pendingScroll.current = {
85
+ id,
86
+ animated
87
+ };
88
+ const next = {
89
+ ...committed.current,
90
+ carouselRevision: committed.current.carouselRevision + 1
91
+ };
92
+ committed.current = next;
93
+ setSelection(next);
94
+ } else {
95
+ carouselRef.current?.scrollTo({
96
+ index,
97
+ animated
98
+ });
99
+ }
100
+ }
101
+ }), []);
102
+
103
+ // SDK 只协调身份变化;source、label、busy 更新不应打断当前动画。
104
+ const data = useMemo(() => items.map(item => item.id), [items]);
105
+ if (!current) return null;
106
+ return /*#__PURE__*/_jsxs(View, {
107
+ style: [styles.container, style],
108
+ testID: testID,
109
+ children: [/*#__PURE__*/_jsx(Carousel, {
110
+ ref: carouselRef,
111
+ data: data,
112
+ defaultIndex: selection.index,
113
+ loop: false,
114
+ itemSize: width,
115
+ style: {
116
+ width,
117
+ height
118
+ },
119
+ keyExtractor: id => id,
120
+ testID: testID ? `${testID}-carousel` : undefined,
121
+ onScrollStart: () => {
122
+ if (mounted.current && selection.carouselRevision === committed.current.carouselRevision) {
123
+ moving.current = true;
124
+ }
125
+ },
126
+ onSnapToItem: index => {
127
+ const latest = committed.current;
128
+ if (!mounted.current || selection.carouselRevision !== latest.carouselRevision || items.length !== latest.items.length || items.some((item, itemIndex) => item.id !== latest.items[itemIndex]?.id)) return;
129
+ moving.current = false;
130
+ const id = items[index]?.id;
131
+ const nextIndex = latest.items.findIndex(item => item.id === id);
132
+ if (nextIndex >= 0 && nextIndex !== latest.index) {
133
+ const next = {
134
+ ...latest,
135
+ index: nextIndex
136
+ };
137
+ // SDK 已完成落位;句柄同步可读,不等待 React 下一次提交。
138
+ committed.current = next;
139
+ setSelection(next);
140
+ notifiedId.current = id;
141
+ currentChange.current?.(next.items[nextIndex]);
142
+ }
143
+ },
144
+ renderItem: ({
145
+ item: id,
146
+ index
147
+ }) => {
148
+ const item = items.find(candidate => candidate.id === id);
149
+ return /*#__PURE__*/_jsxs(View, {
150
+ style: [styles.media, {
151
+ width,
152
+ height
153
+ }],
154
+ children: [item.source === undefined ? /*#__PURE__*/_jsx(View, {
155
+ style: styles.placeholder,
156
+ children: /*#__PURE__*/_jsx(Text, {
157
+ style: styles.placeholderText,
158
+ children: IMAGE_UNAVAILABLE
159
+ })
160
+ }) : /*#__PURE__*/_jsx(Thumbnail, {
161
+ source: item.source,
162
+ size: {
163
+ width,
164
+ height,
165
+ borderRadius: radius.xl
166
+ },
167
+ resizeMode: "contain",
168
+ imageStyle: styles.image,
169
+ accessibilityLabel: item.label ?? `图片第 ${index + 1} 张`,
170
+ fallback: /*#__PURE__*/_jsx(View, {
171
+ style: styles.placeholder,
172
+ children: /*#__PURE__*/_jsx(Text, {
173
+ style: styles.placeholderText,
174
+ children: IMAGE_UNAVAILABLE
175
+ })
176
+ })
177
+ }), /*#__PURE__*/_jsx(View, {
178
+ pointerEvents: "none",
179
+ style: styles.border
180
+ })]
181
+ });
182
+ }
183
+ }, selection.carouselRevision), /*#__PURE__*/_jsx(View, {
184
+ style: styles.counter,
185
+ children: /*#__PURE__*/_jsxs(Text, {
186
+ style: styles.counterText,
187
+ children: ["\u7B2C", selection.index + 1, "/", items.length, "\u5F20"]
188
+ })
189
+ }), current.canDelete && onRequestDelete ? /*#__PURE__*/_jsx(IconButton, {
190
+ icon: "trash",
191
+ size: "sm",
192
+ variant: "neutral",
193
+ disabled: current.deleting,
194
+ accessibilityLabel: DELETE_LABEL,
195
+ style: styles.deleteButton,
196
+ onPress: () => onRequestDelete(current)
197
+ }) : null]
198
+ });
199
+ });
200
+ //# sourceMappingURL=ImagePreview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forwardRef","useEffect","useImperativeHandle","useLayoutEffect","useMemo","useRef","useState","Text","View","radius","useThemedStyles","IconButton","Thumbnail","Carousel","DELETE_LABEL","IMAGE_UNAVAILABLE","makeStyles","jsx","_jsx","jsxs","_jsxs","ImagePreview","ImagePreviewInner","items","width","height","initialId","onCurrentChange","onRequestDelete","style","testID","ref","styles","carouselRef","mounted","moving","pendingScroll","undefined","selection","setSelection","index","Math","max","findIndex","item","id","initialized","length","carouselRevision","retainedIndex","identityChanged","some","current","min","committed","currentChange","request","scrollTo","animated","notifiedId","displayed","getCurrent","next","data","map","container","children","defaultIndex","loop","itemSize","keyExtractor","onScrollStart","onSnapToItem","latest","itemIndex","nextIndex","renderItem","find","candidate","media","source","placeholder","placeholderText","size","borderRadius","xl","resizeMode","imageStyle","image","accessibilityLabel","label","fallback","pointerEvents","border","counter","counterText","canDelete","icon","variant","disabled","deleting","deleteButton","onPress"],"sourceRoot":"../../../../../src","sources":["components/ui/ImagePreview/ImagePreview.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+
3
+ export const IMAGE_UNAVAILABLE = '图片暂不可预览';
4
+ export const DELETE_LABEL = '删除当前照片';
5
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["IMAGE_UNAVAILABLE","DELETE_LABEL"],"sourceRoot":"../../../../../src","sources":["components/ui/ImagePreview/constants.ts"],"mappings":";;AAAA,OAAO,MAAMA,iBAAiB,GAAG,SAAS;AAC1C,OAAO,MAAMC,YAAY,GAAG,QAAQ","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ export { ImagePreview } from "./ImagePreview.js";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ImagePreview"],"sourceRoot":"../../../../../src","sources":["components/ui/ImagePreview/index.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,mBAAgB","ignoreList":[]}