@unif/react-native-chat 3.2.4 → 3.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (124) hide show
  1. package/lib/module/components/Attachments/AttachmentItem.js +8 -4
  2. package/lib/module/components/Attachments/AttachmentItem.js.map +1 -1
  3. package/lib/module/components/Attachments/Attachments.js +1 -0
  4. package/lib/module/components/Attachments/Attachments.js.map +1 -1
  5. package/lib/module/components/Attachments/constants.js +1 -0
  6. package/lib/module/components/Attachments/constants.js.map +1 -1
  7. package/lib/module/components/Attachments/styles.js +10 -5
  8. package/lib/module/components/Attachments/styles.js.map +1 -1
  9. package/lib/module/components/Composer/Composer.js +13 -9
  10. package/lib/module/components/Composer/Composer.js.map +1 -1
  11. package/lib/module/components/Composer/styles.js +1 -0
  12. package/lib/module/components/Composer/styles.js.map +1 -1
  13. package/lib/module/components/Confirmation/Confirmation.js +29 -13
  14. package/lib/module/components/Confirmation/Confirmation.js.map +1 -1
  15. package/lib/module/components/Confirmation/styles.js +17 -6
  16. package/lib/module/components/Confirmation/styles.js.map +1 -1
  17. package/lib/module/components/Message/MarkdownContent/styles.js +29 -33
  18. package/lib/module/components/Message/MarkdownContent/styles.js.map +1 -1
  19. package/lib/module/components/Message/Message.js +37 -24
  20. package/lib/module/components/Message/Message.js.map +1 -1
  21. package/lib/module/components/Message/MessageWaiting.js +53 -0
  22. package/lib/module/components/Message/MessageWaiting.js.map +1 -0
  23. package/lib/module/components/Message/constants.js +3 -0
  24. package/lib/module/components/Message/constants.js.map +1 -1
  25. package/lib/module/components/Message/styles.js +41 -3
  26. package/lib/module/components/Message/styles.js.map +1 -1
  27. package/lib/module/components/MessageList/MessageList.js +60 -31
  28. package/lib/module/components/MessageList/MessageList.js.map +1 -1
  29. package/lib/module/components/MessageList/MessageListEndButton.js +60 -0
  30. package/lib/module/components/MessageList/MessageListEndButton.js.map +1 -0
  31. package/lib/module/components/MessageList/MessageListRow.js +9 -2
  32. package/lib/module/components/MessageList/MessageListRow.js.map +1 -1
  33. package/lib/module/components/MessageList/styles.js +6 -0
  34. package/lib/module/components/MessageList/styles.js.map +1 -1
  35. package/lib/module/components/MessageList/useMessageListScroll.js +218 -13
  36. package/lib/module/components/MessageList/useMessageListScroll.js.map +1 -1
  37. package/lib/module/components/Process/Process.js +15 -5
  38. package/lib/module/components/Process/Process.js.map +1 -1
  39. package/lib/module/components/Process/ProcessCompactStep.js +21 -12
  40. package/lib/module/components/Process/ProcessCompactStep.js.map +1 -1
  41. package/lib/module/components/Process/ProcessTimelineStep.js +79 -0
  42. package/lib/module/components/Process/ProcessTimelineStep.js.map +1 -0
  43. package/lib/module/components/Process/styles.js +63 -3
  44. package/lib/module/components/Process/styles.js.map +1 -1
  45. package/lib/module/index.js.map +1 -1
  46. package/lib/typescript/src/components/Attachments/AttachmentItem.d.ts +1 -1
  47. package/lib/typescript/src/components/Attachments/AttachmentItem.d.ts.map +1 -1
  48. package/lib/typescript/src/components/Attachments/Attachments.d.ts.map +1 -1
  49. package/lib/typescript/src/components/Attachments/constants.d.ts +1 -0
  50. package/lib/typescript/src/components/Attachments/constants.d.ts.map +1 -1
  51. package/lib/typescript/src/components/Attachments/styles.d.ts +5 -0
  52. package/lib/typescript/src/components/Attachments/styles.d.ts.map +1 -1
  53. package/lib/typescript/src/components/Attachments/types.d.ts +2 -1
  54. package/lib/typescript/src/components/Attachments/types.d.ts.map +1 -1
  55. package/lib/typescript/src/components/Composer/Composer.d.ts.map +1 -1
  56. package/lib/typescript/src/components/Composer/styles.d.ts +1 -0
  57. package/lib/typescript/src/components/Composer/styles.d.ts.map +1 -1
  58. package/lib/typescript/src/components/Confirmation/Confirmation.d.ts.map +1 -1
  59. package/lib/typescript/src/components/Confirmation/styles.d.ts +13 -2
  60. package/lib/typescript/src/components/Confirmation/styles.d.ts.map +1 -1
  61. package/lib/typescript/src/components/Message/MarkdownContent/styles.d.ts +32 -66
  62. package/lib/typescript/src/components/Message/MarkdownContent/styles.d.ts.map +1 -1
  63. package/lib/typescript/src/components/Message/Message.d.ts.map +1 -1
  64. package/lib/typescript/src/components/Message/MessageWaiting.d.ts +3 -0
  65. package/lib/typescript/src/components/Message/MessageWaiting.d.ts.map +1 -0
  66. package/lib/typescript/src/components/Message/constants.d.ts +3 -0
  67. package/lib/typescript/src/components/Message/constants.d.ts.map +1 -1
  68. package/lib/typescript/src/components/Message/styles.d.ts +40 -2
  69. package/lib/typescript/src/components/Message/styles.d.ts.map +1 -1
  70. package/lib/typescript/src/components/Message/types.d.ts +5 -0
  71. package/lib/typescript/src/components/Message/types.d.ts.map +1 -1
  72. package/lib/typescript/src/components/MessageList/MessageList.d.ts.map +1 -1
  73. package/lib/typescript/src/components/MessageList/MessageListEndButton.d.ts +3 -0
  74. package/lib/typescript/src/components/MessageList/MessageListEndButton.d.ts.map +1 -0
  75. package/lib/typescript/src/components/MessageList/MessageListRow.d.ts +2 -8
  76. package/lib/typescript/src/components/MessageList/MessageListRow.d.ts.map +1 -1
  77. package/lib/typescript/src/components/MessageList/index.d.ts +1 -1
  78. package/lib/typescript/src/components/MessageList/index.d.ts.map +1 -1
  79. package/lib/typescript/src/components/MessageList/styles.d.ts +6 -0
  80. package/lib/typescript/src/components/MessageList/styles.d.ts.map +1 -1
  81. package/lib/typescript/src/components/MessageList/types.d.ts +41 -2
  82. package/lib/typescript/src/components/MessageList/types.d.ts.map +1 -1
  83. package/lib/typescript/src/components/MessageList/useMessageListScroll.d.ts +14 -3
  84. package/lib/typescript/src/components/MessageList/useMessageListScroll.d.ts.map +1 -1
  85. package/lib/typescript/src/components/Process/Process.d.ts.map +1 -1
  86. package/lib/typescript/src/components/Process/ProcessCompactStep.d.ts +1 -1
  87. package/lib/typescript/src/components/Process/ProcessCompactStep.d.ts.map +1 -1
  88. package/lib/typescript/src/components/Process/ProcessTimelineStep.d.ts +5 -0
  89. package/lib/typescript/src/components/Process/ProcessTimelineStep.d.ts.map +1 -0
  90. package/lib/typescript/src/components/Process/styles.d.ts +62 -2
  91. package/lib/typescript/src/components/Process/styles.d.ts.map +1 -1
  92. package/lib/typescript/src/components/Process/types.d.ts +7 -2
  93. package/lib/typescript/src/components/Process/types.d.ts.map +1 -1
  94. package/lib/typescript/src/index.d.ts +1 -1
  95. package/lib/typescript/src/index.d.ts.map +1 -1
  96. package/package.json +1 -1
  97. package/src/components/Attachments/AttachmentItem.tsx +16 -5
  98. package/src/components/Attachments/Attachments.tsx +1 -0
  99. package/src/components/Attachments/constants.ts +1 -0
  100. package/src/components/Attachments/styles.ts +7 -4
  101. package/src/components/Attachments/types.ts +2 -1
  102. package/src/components/Composer/Composer.tsx +34 -8
  103. package/src/components/Composer/styles.ts +1 -0
  104. package/src/components/Confirmation/Confirmation.tsx +50 -14
  105. package/src/components/Confirmation/styles.ts +13 -6
  106. package/src/components/Message/MarkdownContent/styles.ts +18 -44
  107. package/src/components/Message/Message.tsx +53 -33
  108. package/src/components/Message/MessageWaiting.tsx +68 -0
  109. package/src/components/Message/constants.ts +4 -0
  110. package/src/components/Message/styles.ts +25 -2
  111. package/src/components/Message/types.ts +6 -0
  112. package/src/components/MessageList/MessageList.tsx +107 -35
  113. package/src/components/MessageList/MessageListEndButton.tsx +61 -0
  114. package/src/components/MessageList/MessageListRow.tsx +12 -12
  115. package/src/components/MessageList/index.ts +1 -0
  116. package/src/components/MessageList/styles.ts +6 -0
  117. package/src/components/MessageList/types.ts +52 -2
  118. package/src/components/MessageList/useMessageListScroll.ts +296 -21
  119. package/src/components/Process/Process.tsx +38 -5
  120. package/src/components/Process/ProcessCompactStep.tsx +32 -16
  121. package/src/components/Process/ProcessTimelineStep.tsx +109 -0
  122. package/src/components/Process/styles.ts +48 -3
  123. package/src/components/Process/types.ts +7 -2
  124. package/src/index.tsx +1 -0
@@ -6,91 +6,74 @@ export declare const createStyles: (colors: ColorTokens) => Readonly<{
6
6
  color: string;
7
7
  };
8
8
  em: {
9
- fontStyle: "italic";
10
- fontSize: number;
11
- lineHeight: number;
12
9
  color: string;
10
+ fontStyle: "italic";
13
11
  };
14
12
  strong: {
15
- fontWeight: "bold";
16
- fontSize: number;
17
- lineHeight: number;
18
13
  color: string;
14
+ fontWeight: "bold";
19
15
  };
20
16
  strikethrough: {
21
- textDecorationLine: "line-through";
22
- fontSize: number;
23
- lineHeight: number;
24
17
  color: string;
18
+ textDecorationLine: "line-through";
25
19
  };
26
20
  link: {
27
21
  color: string;
28
22
  textDecorationLine: "underline";
29
- fontSize: number;
30
- lineHeight: number;
31
23
  };
32
24
  li: {
33
- fontSize: number;
34
- lineHeight: number;
35
25
  color: string;
26
+ fontSize: number;
36
27
  };
37
28
  codespan: {
38
- fontFamily: string;
39
29
  color: string;
40
30
  backgroundColor: string;
41
- fontSize: number;
42
- lineHeight: number;
43
31
  };
44
32
  h1: {
45
33
  fontSize: number;
46
- lineHeight: number;
34
+ fontWeight: "700";
47
35
  color: string;
48
- borderBottomColor: string;
49
36
  };
50
37
  h2: {
51
38
  fontSize: number;
52
- lineHeight: number;
39
+ fontWeight: "700";
53
40
  color: string;
54
- borderBottomColor: string;
55
41
  };
56
42
  h3: {
57
43
  fontSize: number;
58
- lineHeight: number;
44
+ fontWeight: "600";
59
45
  color: string;
60
46
  };
61
47
  h4: {
62
48
  fontSize: number;
63
- lineHeight: number;
49
+ fontWeight: "600";
64
50
  color: string;
65
51
  };
66
52
  h5: {
67
53
  fontSize: number;
68
- lineHeight: number;
54
+ fontWeight: "600";
69
55
  color: string;
70
56
  };
71
57
  h6: {
72
58
  fontSize: number;
73
- lineHeight: number;
59
+ fontWeight: "600";
74
60
  color: string;
75
61
  };
76
- paragraph: {
77
- paddingVertical: number;
78
- };
79
62
  code: {
80
- padding: number;
81
63
  backgroundColor: string;
64
+ borderColor: string;
65
+ borderWidth: number;
82
66
  };
83
67
  codeText: {
84
68
  color: string;
85
- fontFamily: string;
86
- fontSize: number;
87
- lineHeight: number;
88
69
  };
89
70
  blockquote: {
90
- borderLeftColor: string;
71
+ borderColor: string;
72
+ borderLeftWidth: number;
91
73
  };
92
74
  hr: {
93
- borderBottomColor: string;
75
+ backgroundColor: string;
76
+ height: number;
94
77
  };
95
78
  table: {
96
79
  borderColor: string;
@@ -103,91 +86,74 @@ export declare const createOutgoingStyles: (colors: ColorTokens) => Readonly<{
103
86
  color: string;
104
87
  };
105
88
  em: {
106
- fontStyle: "italic";
107
- fontSize: number;
108
- lineHeight: number;
109
89
  color: string;
90
+ fontStyle: "italic";
110
91
  };
111
92
  strong: {
112
- fontWeight: "bold";
113
- fontSize: number;
114
- lineHeight: number;
115
93
  color: string;
94
+ fontWeight: "bold";
116
95
  };
117
96
  strikethrough: {
118
- textDecorationLine: "line-through";
119
- fontSize: number;
120
- lineHeight: number;
121
97
  color: string;
98
+ textDecorationLine: "line-through";
122
99
  };
123
100
  link: {
124
101
  color: string;
125
102
  textDecorationLine: "underline";
126
- fontSize: number;
127
- lineHeight: number;
128
103
  };
129
104
  li: {
130
- fontSize: number;
131
- lineHeight: number;
132
105
  color: string;
106
+ fontSize: number;
133
107
  };
134
108
  codespan: {
135
- fontFamily: string;
136
109
  color: string;
137
110
  backgroundColor: string;
138
- fontSize: number;
139
- lineHeight: number;
140
111
  };
141
112
  h1: {
142
113
  fontSize: number;
143
- lineHeight: number;
114
+ fontWeight: "700";
144
115
  color: string;
145
- borderBottomColor: string;
146
116
  };
147
117
  h2: {
148
118
  fontSize: number;
149
- lineHeight: number;
119
+ fontWeight: "700";
150
120
  color: string;
151
- borderBottomColor: string;
152
121
  };
153
122
  h3: {
154
123
  fontSize: number;
155
- lineHeight: number;
124
+ fontWeight: "600";
156
125
  color: string;
157
126
  };
158
127
  h4: {
159
128
  fontSize: number;
160
- lineHeight: number;
129
+ fontWeight: "600";
161
130
  color: string;
162
131
  };
163
132
  h5: {
164
133
  fontSize: number;
165
- lineHeight: number;
134
+ fontWeight: "600";
166
135
  color: string;
167
136
  };
168
137
  h6: {
169
138
  fontSize: number;
170
- lineHeight: number;
139
+ fontWeight: "600";
171
140
  color: string;
172
141
  };
173
- paragraph: {
174
- paddingVertical: number;
175
- };
176
142
  code: {
177
- padding: number;
178
143
  backgroundColor: string;
144
+ borderColor: string;
145
+ borderWidth: number;
179
146
  };
180
147
  codeText: {
181
148
  color: string;
182
- fontFamily: string;
183
- fontSize: number;
184
- lineHeight: number;
185
149
  };
186
150
  blockquote: {
187
- borderLeftColor: string;
151
+ borderColor: string;
152
+ borderLeftWidth: number;
188
153
  };
189
154
  hr: {
190
- borderBottomColor: string;
155
+ backgroundColor: string;
156
+ height: number;
191
157
  };
192
158
  table: {
193
159
  borderColor: string;
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Message/MarkdownContent/styles.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAmE7D,eAAO,MAAM,YAAY,GAAI,QAAQ,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EACb,CAAC;AACpC,eAAO,MAAM,oBAAoB,GAAI,QAAQ,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EACtB,CAAC"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Message/MarkdownContent/styles.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAyC7D,eAAO,MAAM,YAAY,GAAI,QAAQ,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EACb,CAAC;AACpC,eAAO,MAAM,oBAAoB,GAAI,QAAQ,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EACtB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Message.d.ts","sourceRoot":"","sources":["../../../../../src/components/Message/Message.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAS,CAAC;AAE5C,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,+BA0J1C"}
1
+ {"version":3,"file":"Message.d.ts","sourceRoot":"","sources":["../../../../../src/components/Message/Message.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAS,CAAC;AAE5C,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,+BA8K1C"}
@@ -0,0 +1,3 @@
1
+ import type { MessageWaitingProps } from './types.js';
2
+ export declare function MessageWaiting({ label }: MessageWaitingProps): import("react").JSX.Element;
3
+ //# sourceMappingURL=MessageWaiting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageWaiting.d.ts","sourceRoot":"","sources":["../../../../../src/components/Message/MessageWaiting.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAS,CAAC;AAEnD,wBAAgB,cAAc,CAAC,EAAE,KAAK,EAAE,EAAE,mBAAmB,+BAqD5D"}
@@ -1,2 +1,5 @@
1
1
  export declare const INTERACTIVE_CONTENT_SELECTOR = "button,a,input,textarea,select,[role=\"button\"],[role=\"link\"],[role=\"checkbox\"],[role=\"switch\"],[role=\"menuitem\"],[role=\"tab\"]";
2
+ export declare const MESSAGE_WAITING_DOT_DELAYS: readonly [0, 150, 300];
3
+ export declare const MESSAGE_WAITING_DOT_DURATION = 600;
4
+ export declare const MESSAGE_WAITING_DOT_MIN_OPACITY = 0.3;
2
5
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/components/Message/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B,8IACwF,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../../../src/components/Message/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B,8IACwF,CAAC;AAElI,eAAO,MAAM,0BAA0B,wBAAyB,CAAC;AACjE,eAAO,MAAM,4BAA4B,MAAM,CAAC;AAChD,eAAO,MAAM,+BAA+B,MAAM,CAAC"}
@@ -47,8 +47,46 @@ export declare const createStyles: (colors: ColorTokens) => Readonly<{
47
47
  borderColor: string;
48
48
  };
49
49
  failed: {
50
- borderWidth: number;
51
- borderColor: string;
50
+ opacity: number;
51
+ };
52
+ failureRow: {
53
+ flexDirection: "row";
54
+ alignItems: "center";
55
+ alignSelf: "stretch";
56
+ gap: number;
57
+ };
58
+ failureContent: {
59
+ flexShrink: number;
60
+ };
61
+ failureAction: {
62
+ alignSelf: "center";
63
+ };
64
+ failureFullWidth: {
65
+ flex: number;
66
+ };
67
+ waitingBubble: {
68
+ width: number;
69
+ borderTopLeftRadius: number;
70
+ };
71
+ waitingRow: {
72
+ flexDirection: "row";
73
+ alignItems: "center";
74
+ gap: number;
75
+ };
76
+ waitingDots: {
77
+ flexDirection: "row";
78
+ gap: number;
79
+ };
80
+ waitingDot: {
81
+ width: number;
82
+ height: number;
83
+ borderRadius: number;
84
+ backgroundColor: string;
85
+ };
86
+ waitingLabel: {
87
+ fontSize: number;
88
+ color: string;
89
+ flexShrink: number;
52
90
  };
53
91
  text: {
54
92
  fontSize: number;
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/Message/styles.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,eAAO,MAAM,YAAY,GAAI,QAAQ,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgD5C,CAAC"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/Message/styles.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,eAAO,MAAM,YAAY,GAAI,QAAQ,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuE5C,CAAC"}
@@ -14,6 +14,8 @@ export interface MessageBaseProps {
14
14
  header?: ReactNode;
15
15
  footer?: ReactNode;
16
16
  actions?: readonly ChatAction[];
17
+ /** 仅 failed 时在气泡旁显示的错误操作;不自动生成重试。 */
18
+ failureAction?: ChatAction;
17
19
  onPress?(): void;
18
20
  onLongPress?(): void;
19
21
  style?: StyleProp<ViewStyle>;
@@ -41,4 +43,7 @@ export interface MessageCustomContent {
41
43
  onLinkPress?: never;
42
44
  }
43
45
  export type MessageProps = MessageBaseProps & (MessagePlainContent | MessageMarkdownContent | MessageCustomContent);
46
+ export interface MessageWaitingProps {
47
+ label?: string;
48
+ }
44
49
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/Message/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAe,CAAC;AAEhD,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,KAAK,CAAC;AAC/C,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;AACxE,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;IAC1C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IAChC,OAAO,CAAC,IAAI,IAAI,CAAC;IACjB,WAAW,CAAC,IAAI,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AACD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,WAAW,CAAC,EAAE,KAAK,CAAC;CACrB;AACD,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,aAAa,CAAC,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB;AACD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,aAAa,CAAC,EAAE,KAAK,CAAC;IACtB,WAAW,CAAC,EAAE,KAAK,CAAC;CACrB;AACD,MAAM,MAAM,YAAY,GAAG,gBAAgB,GACzC,CAAC,mBAAmB,GAAG,sBAAsB,GAAG,oBAAoB,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/Message/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAe,CAAC;AAEhD,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,KAAK,CAAC;AAC/C,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;AACxE,MAAM,WAAW,gBAAgB;IAC/B,SAAS,CAAC,EAAE,gBAAgB,CAAC;IAC7B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;IAC1C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,OAAO,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IAChC,qCAAqC;IACrC,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B,OAAO,CAAC,IAAI,IAAI,CAAC;IACjB,WAAW,CAAC,IAAI,IAAI,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AACD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,WAAW,CAAC,EAAE,KAAK,CAAC;CACrB;AACD,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,aAAa,CAAC,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,EAAE,KAAK,CAAC;CAClB;AACD,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,IAAI,CAAC,EAAE,KAAK,CAAC;IACb,MAAM,CAAC,EAAE,KAAK,CAAC;IACf,aAAa,CAAC,EAAE,KAAK,CAAC;IACtB,WAAW,CAAC,EAAE,KAAK,CAAC;CACrB;AACD,MAAM,MAAM,YAAY,GAAG,gBAAgB,GACzC,CAAC,mBAAmB,GAAG,sBAAsB,GAAG,oBAAoB,CAAC,CAAC;AAExE,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
@@ -1 +1 @@
1
- {"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../../../../src/components/MessageList/MessageList.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAc3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAS,CAAC;AAInE,wBAAgB,WAAW,CAAC,CAAC,EAAE,EAC7B,KAAK,EACL,YAAY,EACZ,UAAU,EACV,SAAS,EACT,MAAM,EACN,MAAM,EACN,KAAK,EACL,eAAe,EACf,eAAuB,EACvB,YAA0B,EAC1B,YAAoC,EACpC,eAAsB,EACtB,eAAuB,EACvB,aAAa,EACb,UAAkB,EAClB,cAAsB,EACtB,gBAAgB,EAChB,mBAA+B,EAC/B,qBAAqB,EACrB,4BAAoC,EACpC,KAAK,EACL,MAAM,EACN,GAAG,GACJ,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,iBAAiB,CAAC,+BAsHxD"}
1
+ {"version":3,"file":"MessageList.d.ts","sourceRoot":"","sources":["../../../../../src/components/MessageList/MessageList.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAU3C,OAAO,KAAK,EAEV,iBAAiB,EACjB,gBAAgB,EACjB,MAAM,YAAS,CAAC;AAIjB,wBAAgB,WAAW,CAAC,CAAC,EAAE,EAC7B,KAAK,EACL,YAAY,EACZ,UAAU,EACV,SAAS,EACT,MAAM,EACN,MAAM,EACN,KAAK,EACL,eAAe,EACf,eAAuB,EACvB,YAA0B,EAC1B,YAAoC,EACpC,eAAsB,EACtB,eAAuB,EACvB,aAAa,EACb,UAAkB,EAClB,cAAsB,EACtB,gBAAgB,EAChB,mBAA+B,EAC/B,qBAAqB,EACrB,4BAAoC,EACpC,KAAK,EACL,MAAM,EACN,GAAG,GACJ,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,iBAAiB,CAAC,+BAwLxD"}
@@ -0,0 +1,3 @@
1
+ import type { MessageListEndButtonProps } from './types.js';
2
+ export declare function MessageListEndButton({ busy, onPress, }: MessageListEndButtonProps): import("react").JSX.Element;
3
+ //# sourceMappingURL=MessageListEndButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MessageListEndButton.d.ts","sourceRoot":"","sources":["../../../../../src/components/MessageList/MessageListEndButton.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,YAAS,CAAC;AAEzD,wBAAgB,oBAAoB,CAAC,EACnC,IAAI,EACJ,OAAO,GACR,EAAE,yBAAyB,+BA6C3B"}
@@ -1,11 +1,5 @@
1
- import type { MessageListProps } from './types.js';
2
- interface MessageListRowProps<T> extends Pick<MessageListProps<T>, 'renderItem' | 'renderSeparator' | 'extraData'> {
3
- item: T;
4
- previous: T | undefined;
5
- index: number;
6
- nativeID: string;
7
- }
8
- declare function MessageListRowContent<T>({ item, previous, index, nativeID, renderItem, renderSeparator, }: MessageListRowProps<T>): import("react").JSX.Element;
1
+ import type { MessageListRowProps } from './types.js';
2
+ declare function MessageListRowContent<T>({ item, previous, index, nativeID, itemKey, testID, onItemLayout, renderItem, renderSeparator, }: MessageListRowProps<T>): import("react").JSX.Element;
9
3
  export declare const MessageListRow: typeof MessageListRowContent;
10
4
  export {};
11
5
  //# sourceMappingURL=MessageListRow.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MessageListRow.d.ts","sourceRoot":"","sources":["../../../../../src/components/MessageList/MessageListRow.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAS,CAAC;AAEhD,UAAU,mBAAmB,CAAC,CAAC,CAAE,SAAQ,IAAI,CAC3C,gBAAgB,CAAC,CAAC,CAAC,EACnB,YAAY,GAAG,iBAAiB,GAAG,WAAW,CAC/C;IACC,IAAI,EAAE,CAAC,CAAC;IACR,QAAQ,EAAE,CAAC,GAAG,SAAS,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,iBAAS,qBAAqB,CAAC,CAAC,EAAE,EAChC,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,UAAU,EACV,eAAe,GAChB,EAAE,mBAAmB,CAAC,CAAC,CAAC,+BAOxB;AAID,eAAO,MAAM,cAAc,EAEtB,OAAO,qBAAqB,CAAC"}
1
+ {"version":3,"file":"MessageListRow.d.ts","sourceRoot":"","sources":["../../../../../src/components/MessageList/MessageListRow.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAS,CAAC;AAEnD,iBAAS,qBAAqB,CAAC,CAAC,EAAE,EAChC,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,OAAO,EACP,MAAM,EACN,YAAY,EACZ,UAAU,EACV,eAAe,GAChB,EAAE,mBAAmB,CAAC,CAAC,CAAC,+BAcxB;AAID,eAAO,MAAM,cAAc,EAEtB,OAAO,qBAAqB,CAAC"}
@@ -1,3 +1,3 @@
1
1
  export { MessageList } from './MessageList.js';
2
- export type { MessageListHandle, MessageListProps, MessageListScrollOptions, } from './types.js';
2
+ export type { MessageListAnchorOptions, MessageListHandle, MessageListProps, MessageListScrollOptions, } from './types.js';
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/MessageList/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAe,CAAC;AAC5C,YAAY,EACV,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,YAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/MessageList/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAe,CAAC;AAC5C,YAAY,EACV,wBAAwB,EACxB,iBAAiB,EACjB,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,YAAS,CAAC"}
@@ -24,6 +24,12 @@ export declare const createStyles: (colors: ColorTokens, shadows: ShadowTokens)
24
24
  top: 0;
25
25
  bottom: 0;
26
26
  }>;
27
+ returnVisual: {
28
+ width: number;
29
+ height: number;
30
+ alignItems: "center";
31
+ justifyContent: "center";
32
+ };
27
33
  returnButton: {
28
34
  shadowColor: string;
29
35
  shadowOffset: {
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/MessageList/styles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC3E,eAAO,MAAM,YAAY,GAAI,QAAQ,WAAW,EAAE,SAAS,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBnE,CAAC"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/MessageList/styles.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAC3E,eAAO,MAAM,YAAY,GAAI,QAAQ,WAAW,EAAE,SAAS,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0BnE,CAAC"}
@@ -1,10 +1,16 @@
1
- import type { ReactNode } from 'react';
2
- import type { ScrollViewProps, StyleProp, ViewStyle } from 'react-native';
1
+ import type { ComponentProps, ReactNode } from 'react';
2
+ import type { FlatListProps, LayoutRectangle, ScrollViewProps, StyleProp, ViewStyle } from 'react-native';
3
3
  export interface MessageListScrollOptions {
4
4
  animated?: boolean;
5
5
  }
6
+ export interface MessageListAnchorOptions extends MessageListScrollOptions {
7
+ /** 正文顶端距列表视口顶部的留白,默认 0。 */
8
+ topOffset?: number;
9
+ }
6
10
  export interface MessageListHandle {
7
11
  scrollToEnd(options?: MessageListScrollOptions): void;
12
+ /** 按稳定 key 等待真实布局并顶锚;用户拖动、回到末尾或目标删除时结束。 */
13
+ anchorToItem(key: string, options?: MessageListAnchorOptions): void;
8
14
  }
9
15
  export interface MessageListProps<T> {
10
16
  items: readonly T[];
@@ -32,9 +38,42 @@ export interface MessageListProps<T> {
32
38
  testID?: string;
33
39
  }
34
40
  export interface ListMeasurements {
41
+ width: number;
35
42
  viewport: number;
36
43
  content: number;
37
44
  offset: number;
38
45
  hasContentSize: boolean;
39
46
  }
47
+ export type MessageListCellProps<T> = ComponentProps<NonNullable<FlatListProps<T>['CellRendererComponent']>>;
48
+ export interface MessageListRowProps<T> extends Pick<MessageListProps<T>, 'renderItem' | 'renderSeparator' | 'extraData'> {
49
+ item: T;
50
+ previous: T | undefined;
51
+ index: number;
52
+ itemKey: string;
53
+ nativeID: string;
54
+ testID?: string;
55
+ onItemLayout(key: string, index: number, y: number): void;
56
+ }
57
+ export interface MessageListItemLayout {
58
+ index: number;
59
+ cell?: LayoutRectangle;
60
+ itemY?: number;
61
+ }
62
+ export interface MessageListAnchorRequest {
63
+ key: string;
64
+ topOffset: number;
65
+ animated: boolean;
66
+ seen: boolean;
67
+ locatedAt?: number;
68
+ offset?: number;
69
+ viewport?: number;
70
+ settled?: boolean;
71
+ }
72
+ export interface MessageListPendingScroll extends MessageListScrollOptions {
73
+ contentBeforeRelease?: number;
74
+ }
75
+ export interface MessageListEndButtonProps {
76
+ busy: boolean;
77
+ onPress(): void;
78
+ }
40
79
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/MessageList/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE1E,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AACD,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,OAAO,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAC;CACvD;AACD,MAAM,WAAW,gBAAgB,CAAC,CAAC;IACjC,KAAK,EAAE,SAAS,CAAC,EAAE,CAAC;IACpB,YAAY,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC;IAC9B,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,eAAe,CAAC,CAAC,QAAQ,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,SAAS,CAAC;IAClD,eAAe,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IAClC,YAAY,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;IACrC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oCAAoC;IACpC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,aAAa,CAAC,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gBAAgB,CAAC,IAAI,IAAI,CAAC;IAC1B,mBAAmB,CAAC,EAAE,eAAe,CAAC,qBAAqB,CAAC,CAAC;IAC7D,qBAAqB,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7C,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AACD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,OAAO,CAAC;CACzB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/MessageList/types.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,30 @@
1
1
  import type { RefObject } from 'react';
2
- import type { FlatList, LayoutChangeEvent, NativeScrollEvent, NativeSyntheticEvent } from 'react-native';
3
- import type { MessageListProps, MessageListScrollOptions } from './types.js';
2
+ import type { DimensionValue, FlatList, FlatListProps, LayoutChangeEvent, LayoutRectangle, NativeScrollEvent, NativeSyntheticEvent } from 'react-native';
3
+ import type { MessageListAnchorOptions, MessageListProps, MessageListScrollOptions } from './types.js';
4
4
  interface MessageListScrollInput<T> extends Pick<MessageListProps<T>, 'initialPosition' | 'followOutput' | 'endThreshold' | 'onAtEndChange'> {
5
5
  listRef: RefObject<FlatList<T> | null>;
6
6
  keys: readonly string[];
7
+ contentMinimumHeight?: DimensionValue;
8
+ contentBottomPadding?: DimensionValue;
9
+ hasFooter?: boolean;
7
10
  preservingPrependRef: RefObject<boolean>;
8
11
  cancelPrependPreservation(): void;
9
12
  }
10
- export declare function useMessageListScroll<T>({ listRef, keys, initialPosition, followOutput, endThreshold, onAtEndChange, preservingPrependRef, cancelPrependPreservation, }: MessageListScrollInput<T>): {
13
+ export declare function useMessageListScroll<T>({ listRef, keys, initialPosition, followOutput, endThreshold, onAtEndChange, contentMinimumHeight, contentBottomPadding, hasFooter, preservingPrependRef, cancelPrependPreservation, }: MessageListScrollInput<T>): {
11
14
  atEnd: boolean;
15
+ anchorMinimumHeight: number | undefined;
16
+ anchorToItem: (key: string, options?: MessageListAnchorOptions) => void;
17
+ onCellLayout: (key: string, index: number, cell: LayoutRectangle) => void;
18
+ onItemLayout: (key: string, index: number, itemY: number) => void;
19
+ onCellUnmount: (key: string, index: number) => void;
20
+ onFooterLayout: (event: LayoutChangeEvent) => void;
21
+ onScrollToIndexFailed: (failure: Parameters<NonNullable<FlatListProps<T>["onScrollToIndexFailed"]>>[0]) => void;
12
22
  scrollToEnd: (options?: MessageListScrollOptions) => void;
13
23
  onLayout: ({ nativeEvent: { layout } }: LayoutChangeEvent) => void;
14
24
  onContentSizeChange: (_width: number, height: number) => void;
15
25
  onScroll: (event: NativeSyntheticEvent<NativeScrollEvent>) => void;
16
26
  onUserScrollBegin: () => void;
27
+ onMomentumScrollBegin: () => void;
17
28
  onScrollEndDrag: (event: NativeSyntheticEvent<NativeScrollEvent>) => void;
18
29
  onMomentumScrollEnd: (event: NativeSyntheticEvent<NativeScrollEvent>) => void;
19
30
  };
@@ -1 +1 @@
1
- {"version":3,"file":"useMessageListScroll.d.ts","sourceRoot":"","sources":["../../../../../src/components/MessageList/useMessageListScroll.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EACV,QAAQ,EACR,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAEV,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,YAAS,CAAC;AAEjB,UAAU,sBAAsB,CAAC,CAAC,CAAE,SAAQ,IAAI,CAC9C,gBAAgB,CAAC,CAAC,CAAC,EACnB,iBAAiB,GAAG,cAAc,GAAG,cAAc,GAAG,eAAe,CACtE;IACC,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACvC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,oBAAoB,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IACzC,yBAAyB,IAAI,IAAI,CAAC;CACnC;AAED,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,EACtC,OAAO,EACP,IAAI,EACJ,eAAe,EACf,YAAY,EACZ,YAAoC,EACpC,aAAa,EACb,oBAAoB,EACpB,yBAAyB,GAC1B,EAAE,sBAAsB,CAAC,CAAC,CAAC;;4BAkDd,wBAAwB;4CAqFJ,iBAAiB;kCAOtC,MAAM,UAAU,MAAM;sBA9BvB,oBAAoB,CAAC,iBAAiB,CAAC;;6BAyCvC,oBAAoB,CAAC,iBAAiB,CAAC;iCAUvC,oBAAoB,CAAC,iBAAiB,CAAC;EAkBlD"}
1
+ {"version":3,"file":"useMessageListScroll.d.ts","sourceRoot":"","sources":["../../../../../src/components/MessageList/useMessageListScroll.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EACV,cAAc,EACd,QAAQ,EACR,aAAa,EACb,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAEV,wBAAwB,EAIxB,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,YAAS,CAAC;AAEjB,UAAU,sBAAsB,CAAC,CAAC,CAAE,SAAQ,IAAI,CAC9C,gBAAgB,CAAC,CAAC,CAAC,EACnB,iBAAiB,GAAG,cAAc,GAAG,cAAc,GAAG,eAAe,CACtE;IACC,OAAO,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IACvC,IAAI,EAAE,SAAS,MAAM,EAAE,CAAC;IACxB,oBAAoB,CAAC,EAAE,cAAc,CAAC;IACtC,oBAAoB,CAAC,EAAE,cAAc,CAAC;IACtC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oBAAoB,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC;IACzC,yBAAyB,IAAI,IAAI,CAAC;CACnC;AAaD,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,EACtC,OAAO,EACP,IAAI,EACJ,eAAe,EACf,YAAY,EACZ,YAAoC,EACpC,aAAa,EACb,oBAAoB,EACpB,oBAAoB,EACpB,SAAS,EACT,oBAAoB,EACpB,yBAAyB,GAC1B,EAAE,sBAAsB,CAAC,CAAC,CAAC;;;wBA8JlB,MAAM,YAAW,wBAAwB;wBA5CzC,MAAM,SAAS,MAAM,QAAQ,eAAe;wBAsB5C,MAAM,SAAS,MAAM,SAAS,MAAM;yBAUJ,MAAM,SAAS,MAAM;4BAMlB,iBAAiB;qCAkP/C,UAAU,CACjB,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CACvD,CAAC,CAAC,CAAC;4BAnLI,wBAAwB;4CAsIJ,iBAAiB;kCAQtC,MAAM,UAAU,MAAM;sBA3CvB,oBAAoB,CAAC,iBAAiB,CAAC;;;6BA2DvC,oBAAoB,CAAC,iBAAiB,CAAC;iCAUvC,oBAAoB,CAAC,iBAAiB,CAAC;EA+ClD"}
@@ -1 +1 @@
1
- {"version":3,"file":"Process.d.ts","sourceRoot":"","sources":["../../../../../src/components/Process/Process.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,YAAS,CAAC;AAkCzD,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAgI9D"}
1
+ {"version":3,"file":"Process.d.ts","sourceRoot":"","sources":["../../../../../src/components/Process/Process.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,YAAY,EAAe,MAAM,YAAS,CAAC;AAkCzD,wBAAgB,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAgK9D"}
@@ -1,3 +1,3 @@
1
1
  import type { ProcessCompactStepProps } from './types.js';
2
- export declare function ProcessCompactStep({ step, expanded, elapsed, onToggle, }: ProcessCompactStepProps): import("react").JSX.Element;
2
+ export declare function ProcessCompactStep({ step, identity, expanded, elapsed, onToggle, }: ProcessCompactStepProps): import("react").JSX.Element;
3
3
  //# sourceMappingURL=ProcessCompactStep.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProcessCompactStep.d.ts","sourceRoot":"","sources":["../../../../../src/components/Process/ProcessCompactStep.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAS,CAAC;AAEvD,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,QAAQ,GACT,EAAE,uBAAuB,+BA6FzB"}
1
+ {"version":3,"file":"ProcessCompactStep.d.ts","sourceRoot":"","sources":["../../../../../src/components/Process/ProcessCompactStep.tsx"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAS,CAAC;AAEvD,wBAAgB,kBAAkB,CAAC,EACjC,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,QAAQ,GACT,EAAE,uBAAuB,+BA4GzB"}
@@ -0,0 +1,5 @@
1
+ import type { ProcessCompactStepProps } from './types.js';
2
+ export declare function ProcessTimelineStep({ step, last, expanded, elapsed, onToggle, }: ProcessCompactStepProps & {
3
+ last: boolean;
4
+ }): import("react").JSX.Element;
5
+ //# sourceMappingURL=ProcessTimelineStep.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProcessTimelineStep.d.ts","sourceRoot":"","sources":["../../../../../src/components/Process/ProcessTimelineStep.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAS,CAAC;AAEvD,wBAAgB,mBAAmB,CAAC,EAClC,IAAI,EACJ,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,QAAQ,GACT,EAAE,uBAAuB,GAAG;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,+BAyF7C"}
@@ -1,5 +1,55 @@
1
1
  import type { ColorTokens } from '@unif/react-native-design';
2
2
  export declare const createStyles: (colors: ColorTokens) => Readonly<{
3
+ timelineRoot: {
4
+ backgroundColor: string;
5
+ borderRadius: number;
6
+ padding: number;
7
+ };
8
+ timelineStep: {
9
+ flexDirection: "row";
10
+ alignItems: "flex-start";
11
+ gap: number;
12
+ };
13
+ timelineGutter: {
14
+ alignItems: "center";
15
+ width: number;
16
+ alignSelf: "stretch";
17
+ };
18
+ timelineLine: {
19
+ width: number;
20
+ flex: number;
21
+ backgroundColor: string;
22
+ marginTop: number;
23
+ minHeight: number;
24
+ };
25
+ timelineBody: {
26
+ flex: number;
27
+ };
28
+ timelineBodyNotLast: {
29
+ paddingBottom: number;
30
+ };
31
+ timelineTitle: {
32
+ flex: number;
33
+ fontSize: number;
34
+ fontWeight: "500";
35
+ color: string;
36
+ lineHeight: number;
37
+ };
38
+ timelineActive: {
39
+ color: string;
40
+ };
41
+ timelinePending: {
42
+ color: string;
43
+ fontWeight: "400";
44
+ };
45
+ timelineDescription: {
46
+ flexShrink: number;
47
+ fontSize: number;
48
+ color: string;
49
+ };
50
+ timelineError: {
51
+ color: string;
52
+ };
3
53
  compactRoot: {
4
54
  gap: number;
5
55
  };
@@ -24,16 +74,26 @@ export declare const createStyles: (colors: ColorTokens) => Readonly<{
24
74
  fontSize: number;
25
75
  fontWeight: "500";
26
76
  };
77
+ spacer: {
78
+ flex: number;
79
+ };
80
+ compactStatus: {
81
+ fontSize: number;
82
+ fontWeight: "500";
83
+ color: string;
84
+ };
27
85
  compactDescription: {
28
86
  color: string;
29
87
  fontSize: number;
30
88
  lineHeight: number;
31
89
  };
32
- compactDetails: {
33
- maxHeight: number;
90
+ compactDetailsContainer: {
34
91
  paddingTop: number;
35
92
  paddingBottom: number;
36
93
  };
94
+ compactDetails: {
95
+ maxHeight: number;
96
+ };
37
97
  root: {
38
98
  gap: number;
39
99
  padding: number;
@@ -1 +1 @@
1
- {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/Process/styles.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,eAAO,MAAM,YAAY,GAAI,QAAQ,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmG5C,CAAC"}
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../../src/components/Process/styles.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,eAAO,MAAM,YAAY,GAAI,QAAQ,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgJ5C,CAAC"}