ferns-ui 1.15.0 → 2.0.0-beta.2

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 (178) hide show
  1. package/dist/ActionSheet.js +11 -14
  2. package/dist/ActionSheet.js.map +1 -1
  3. package/dist/AddressField.js +1 -1
  4. package/dist/AddressField.js.map +1 -1
  5. package/dist/Badge.js +1 -1
  6. package/dist/Badge.js.map +1 -1
  7. package/dist/Banner.js +1 -1
  8. package/dist/Banner.js.map +1 -1
  9. package/dist/Box.js +3 -3
  10. package/dist/Box.js.map +1 -1
  11. package/dist/Button.js +1 -0
  12. package/dist/Button.js.map +1 -1
  13. package/dist/CheckBox.js.map +1 -1
  14. package/dist/Common.d.ts +7 -7
  15. package/dist/Common.js.map +1 -1
  16. package/dist/DataTable.js +2 -1
  17. package/dist/DataTable.js.map +1 -1
  18. package/dist/DateTimeField.js +22 -22
  19. package/dist/DateTimeField.js.map +1 -1
  20. package/dist/ErrorBoundary.d.ts +1 -1
  21. package/dist/FernsProvider.js +1 -1
  22. package/dist/FernsProvider.js.map +1 -1
  23. package/dist/Heading.js +1 -3
  24. package/dist/Heading.js.map +1 -1
  25. package/dist/Hyperlink.js +1 -1
  26. package/dist/Hyperlink.js.map +1 -1
  27. package/dist/IconButton.js +1 -1
  28. package/dist/IconButton.js.map +1 -1
  29. package/dist/Image.js.map +1 -1
  30. package/dist/MobileAddressAutoComplete.js +1 -1
  31. package/dist/MobileAddressAutoComplete.js.map +1 -1
  32. package/dist/Modal.d.ts +1 -1
  33. package/dist/Modal.js +15 -35
  34. package/dist/Modal.js.map +1 -1
  35. package/dist/ModalSheet.d.ts +1 -1
  36. package/dist/ModalSheet.js +1 -1
  37. package/dist/ModalSheet.js.map +1 -1
  38. package/dist/NumberField.js +4 -10
  39. package/dist/NumberField.js.map +1 -1
  40. package/dist/NumberPickerActionSheet.d.ts +3 -1
  41. package/dist/NumberPickerActionSheet.js +3 -0
  42. package/dist/NumberPickerActionSheet.js.map +1 -1
  43. package/dist/Page.js +1 -1
  44. package/dist/Page.js.map +1 -1
  45. package/dist/Pagination.js +2 -2
  46. package/dist/Pagination.js.map +1 -1
  47. package/dist/Permissions.d.ts +1 -1
  48. package/dist/Permissions.js +2 -2
  49. package/dist/Permissions.js.map +1 -1
  50. package/dist/PickerSelect.js +1 -1
  51. package/dist/PickerSelect.js.map +1 -1
  52. package/dist/SectionDivider.js +1 -1
  53. package/dist/SectionDivider.js.map +1 -1
  54. package/dist/SegmentedControl.js.map +1 -1
  55. package/dist/Signature.native.js +2 -2
  56. package/dist/Signature.native.js.map +1 -1
  57. package/dist/SignatureField.js +2 -2
  58. package/dist/SignatureField.js.map +1 -1
  59. package/dist/Slider.js +3 -3
  60. package/dist/Slider.js.map +1 -1
  61. package/dist/SplitPage.js +7 -7
  62. package/dist/SplitPage.js.map +1 -1
  63. package/dist/SplitPage.native.js +6 -4
  64. package/dist/SplitPage.native.js.map +1 -1
  65. package/dist/TapToEdit.js +3 -3
  66. package/dist/TapToEdit.js.map +1 -1
  67. package/dist/Text.js +1 -1
  68. package/dist/Text.js.map +1 -1
  69. package/dist/TextFieldNumberActionSheet.d.ts +4 -2
  70. package/dist/TextFieldNumberActionSheet.js +4 -1
  71. package/dist/TextFieldNumberActionSheet.js.map +1 -1
  72. package/dist/Tooltip.js +21 -39
  73. package/dist/Tooltip.js.map +1 -1
  74. package/dist/Unifier.d.ts +1 -0
  75. package/dist/Unifier.js.map +1 -1
  76. package/dist/Utilities.d.ts +1 -1
  77. package/dist/Utilities.js +3 -2
  78. package/dist/Utilities.js.map +1 -1
  79. package/dist/WebAddressAutocomplete.js +1 -2
  80. package/dist/WebAddressAutocomplete.js.map +1 -1
  81. package/dist/index.d.ts +10 -10
  82. package/dist/index.js +9 -10
  83. package/dist/index.js.map +1 -1
  84. package/dist/jestSetup.d.ts +0 -0
  85. package/dist/jestSetup.js +21 -0
  86. package/dist/jestSetup.js.map +1 -0
  87. package/dist/setupTests.js +22 -0
  88. package/dist/setupTests.js.map +1 -1
  89. package/dist/table/Table.js +15 -14
  90. package/dist/table/Table.js.map +1 -1
  91. package/dist/table/TableHeaderCell.js +2 -2
  92. package/dist/table/TableHeaderCell.js.map +1 -1
  93. package/dist/test-utils.d.ts +4 -1
  94. package/dist/useStoredState.js +2 -4
  95. package/dist/useStoredState.js.map +1 -1
  96. package/package.json +106 -43
  97. package/src/ActionSheet.tsx +22 -26
  98. package/src/AddressField.tsx +1 -1
  99. package/src/Avatar.test.tsx +0 -2
  100. package/src/Badge.tsx +1 -1
  101. package/src/Banner.tsx +1 -1
  102. package/src/Box.test.tsx +70 -71
  103. package/src/Box.tsx +9 -21
  104. package/src/Button.tsx +1 -0
  105. package/src/CheckBox.tsx +1 -7
  106. package/src/Common.ts +19 -7
  107. package/src/DataTable.tsx +4 -3
  108. package/src/DateTimeField.tsx +22 -22
  109. package/src/FernsProvider.tsx +4 -1
  110. package/src/Heading.tsx +1 -3
  111. package/src/Hyperlink.tsx +2 -2
  112. package/src/IconButton.tsx +2 -2
  113. package/src/Image.tsx +0 -1
  114. package/src/MobileAddressAutoComplete.tsx +1 -1
  115. package/src/Modal.tsx +21 -58
  116. package/src/ModalSheet.tsx +1 -1
  117. package/src/NumberField.tsx +4 -10
  118. package/src/NumberPickerActionSheet.tsx +5 -1
  119. package/src/Page.tsx +1 -1
  120. package/src/Pagination.tsx +11 -2
  121. package/src/Permissions.ts +2 -2
  122. package/src/PickerSelect.tsx +1 -1
  123. package/src/SectionDivider.tsx +1 -1
  124. package/src/SegmentedControl.tsx +1 -3
  125. package/src/Signature.native.tsx +2 -2
  126. package/src/SignatureField.tsx +2 -2
  127. package/src/Slider.tsx +17 -10
  128. package/src/SplitPage.native.tsx +4 -2
  129. package/src/SplitPage.tsx +4 -4
  130. package/src/TapToEdit.tsx +7 -3
  131. package/src/Text.tsx +1 -1
  132. package/src/TextArea.test.tsx +43 -27
  133. package/src/TextField.test.tsx +4 -3
  134. package/src/TextFieldNumberActionSheet.tsx +7 -3
  135. package/src/Tooltip.tsx +29 -45
  136. package/src/Unifier.ts +3 -1
  137. package/src/Utilities.tsx +4 -3
  138. package/src/WebAddressAutocomplete.tsx +1 -1
  139. package/src/index.tsx +10 -11
  140. package/src/jestSetup.ts +16 -0
  141. package/src/setupTests.ts +24 -0
  142. package/src/table/Table.tsx +38 -36
  143. package/src/table/TableHeaderCell.tsx +2 -2
  144. package/src/useStoredState.ts +11 -13
  145. package/dist/Accordion.test.d.ts +0 -1
  146. package/dist/Accordion.test.js +0 -71
  147. package/dist/Accordion.test.js.map +0 -1
  148. package/dist/AddressField.test.d.ts +0 -1
  149. package/dist/AddressField.test.js +0 -65
  150. package/dist/AddressField.test.js.map +0 -1
  151. package/dist/Avatar.test.d.ts +0 -1
  152. package/dist/Avatar.test.js +0 -131
  153. package/dist/Avatar.test.js.map +0 -1
  154. package/dist/Badge.test.d.ts +0 -1
  155. package/dist/Badge.test.js +0 -76
  156. package/dist/Badge.test.js.map +0 -1
  157. package/dist/Box.test.d.ts +0 -1
  158. package/dist/Box.test.js +0 -528
  159. package/dist/Box.test.js.map +0 -1
  160. package/dist/DateTimeField.test.d.ts +0 -1
  161. package/dist/DateTimeField.test.js +0 -258
  162. package/dist/DateTimeField.test.js.map +0 -1
  163. package/dist/DateUtilities.test.d.ts +0 -1
  164. package/dist/DateUtilities.test.js +0 -279
  165. package/dist/DateUtilities.test.js.map +0 -1
  166. package/dist/MarkdownView.d.ts +0 -5
  167. package/dist/MarkdownView.js +0 -44
  168. package/dist/MarkdownView.js.map +0 -1
  169. package/dist/TextArea.test.d.ts +0 -1
  170. package/dist/TextArea.test.js +0 -146
  171. package/dist/TextArea.test.js.map +0 -1
  172. package/dist/TextField.test.d.ts +0 -1
  173. package/dist/TextField.test.js +0 -251
  174. package/dist/TextField.test.js.map +0 -1
  175. package/dist/useStoredState.test.d.ts +0 -1
  176. package/dist/useStoredState.test.js +0 -93
  177. package/dist/useStoredState.test.js.map +0 -1
  178. package/src/MarkdownView.tsx +0 -67
package/dist/Box.test.js DELETED
@@ -1,528 +0,0 @@
1
- import { act, fireEvent } from "@testing-library/react-native";
2
- import React from "react";
3
- import { Box } from "./Box";
4
- import { Text } from "./Text";
5
- import { renderWithTheme } from "./test-utils";
6
- // Mock the mediaQueryLargerThan function
7
- jest.mock("./MediaQuery", () => ({
8
- mediaQueryLargerThan: jest.fn(() => false),
9
- }));
10
- describe("Box", () => {
11
- describe("basic rendering", () => {
12
- it("should render with default props", () => {
13
- const { root } = renderWithTheme(React.createElement(Box, null));
14
- expect(root).toBeTruthy();
15
- });
16
- it("should render children", () => {
17
- const { getByText } = renderWithTheme(React.createElement(Box, null,
18
- React.createElement(Text, null, "Test Content")));
19
- expect(getByText("Test Content")).toBeTruthy();
20
- });
21
- it("should apply testID", () => {
22
- const { getByTestId } = renderWithTheme(React.createElement(Box, { testID: "test-box" }));
23
- expect(getByTestId("test-box")).toBeTruthy();
24
- });
25
- });
26
- describe("layout props", () => {
27
- it("should apply direction prop", () => {
28
- const { root } = renderWithTheme(React.createElement(Box, { direction: "column" }));
29
- const view = root.findByType("View");
30
- expect(view.props.style).toMatchObject({
31
- flexDirection: "column",
32
- display: "flex",
33
- });
34
- });
35
- it("should apply responsive direction props", () => {
36
- const { root } = renderWithTheme(React.createElement(Box, { smDirection: "row" }));
37
- expect(root).toBeTruthy();
38
- });
39
- it("should apply flex grow", () => {
40
- const { root } = renderWithTheme(React.createElement(Box, { flex: "grow" }));
41
- const view = root.findByType("View");
42
- expect(view.props.style).toMatchObject({
43
- flexGrow: 1,
44
- flexShrink: 1,
45
- display: "flex",
46
- });
47
- });
48
- it("should apply flex shrink", () => {
49
- const { root } = renderWithTheme(React.createElement(Box, { flex: "shrink" }));
50
- const view = root.findByType("View");
51
- expect(view.props.style).toMatchObject({
52
- flexShrink: 1,
53
- display: "flex",
54
- });
55
- });
56
- it("should apply flex none", () => {
57
- const { root } = renderWithTheme(React.createElement(Box, { flex: "none" }));
58
- const view = root.findByType("View");
59
- expect(view.props.style).toMatchObject({
60
- flex: 0,
61
- display: "flex",
62
- });
63
- });
64
- it("should apply justifyContent", () => {
65
- const { root } = renderWithTheme(React.createElement(Box, { justifyContent: "center" }));
66
- const view = root.findByType("View");
67
- expect(view.props.style).toMatchObject({
68
- justifyContent: "center",
69
- });
70
- });
71
- it("should apply alignItems", () => {
72
- const { root } = renderWithTheme(React.createElement(Box, { alignItems: "center" }));
73
- const view = root.findByType("View");
74
- expect(view.props.style).toMatchObject({
75
- alignItems: "center",
76
- });
77
- });
78
- it("should apply alignContent", () => {
79
- const { root } = renderWithTheme(React.createElement(Box, { alignContent: "center" }));
80
- const view = root.findByType("View");
81
- expect(view.props.style).toMatchObject({
82
- alignContent: "center",
83
- });
84
- });
85
- it("should apply alignSelf", () => {
86
- const { root } = renderWithTheme(React.createElement(Box, { alignSelf: "center" }));
87
- const view = root.findByType("View");
88
- expect(view.props.style).toMatchObject({
89
- alignSelf: "center",
90
- });
91
- });
92
- it("should apply wrap", () => {
93
- const { root } = renderWithTheme(React.createElement(Box, { wrap: true }));
94
- const view = root.findByType("View");
95
- expect(view.props.style).toMatchObject({
96
- flexWrap: "wrap",
97
- alignItems: "flex-start",
98
- });
99
- });
100
- it("should apply gap", () => {
101
- const { root } = renderWithTheme(React.createElement(Box, { gap: 4 }));
102
- const view = root.findByType("View");
103
- expect(view.props.style).toMatchObject({
104
- gap: 16,
105
- });
106
- });
107
- });
108
- describe("spacing props", () => {
109
- it("should apply padding", () => {
110
- const { root } = renderWithTheme(React.createElement(Box, { padding: 4 }));
111
- const view = root.findByType("View");
112
- expect(view.props.style).toMatchObject({
113
- padding: 16,
114
- });
115
- });
116
- it("should apply paddingX", () => {
117
- const { root } = renderWithTheme(React.createElement(Box, { paddingX: 2 }));
118
- const view = root.findByType("View");
119
- expect(view.props.style).toMatchObject({
120
- paddingLeft: 8,
121
- paddingRight: 8,
122
- });
123
- });
124
- it("should apply paddingY", () => {
125
- const { root } = renderWithTheme(React.createElement(Box, { paddingY: 3 }));
126
- const view = root.findByType("View");
127
- expect(view.props.style).toMatchObject({
128
- paddingTop: 12,
129
- paddingBottom: 12,
130
- });
131
- });
132
- it("should apply margin", () => {
133
- const { root } = renderWithTheme(React.createElement(Box, { margin: 4 }));
134
- const view = root.findByType("View");
135
- expect(view.props.style).toMatchObject({
136
- margin: 16,
137
- });
138
- });
139
- it("should apply marginTop", () => {
140
- const { root } = renderWithTheme(React.createElement(Box, { marginTop: 2 }));
141
- const view = root.findByType("View");
142
- expect(view.props.style).toMatchObject({
143
- marginTop: 8,
144
- });
145
- });
146
- it("should apply marginBottom", () => {
147
- const { root } = renderWithTheme(React.createElement(Box, { marginBottom: 2 }));
148
- const view = root.findByType("View");
149
- expect(view.props.style).toMatchObject({
150
- marginBottom: 8,
151
- });
152
- });
153
- it("should apply marginLeft", () => {
154
- const { root } = renderWithTheme(React.createElement(Box, { marginLeft: 2 }));
155
- const view = root.findByType("View");
156
- expect(view.props.style).toMatchObject({
157
- marginLeft: 8,
158
- });
159
- });
160
- it("should apply marginRight", () => {
161
- const { root } = renderWithTheme(React.createElement(Box, { marginRight: 2 }));
162
- const view = root.findByType("View");
163
- expect(view.props.style).toMatchObject({
164
- marginRight: 8,
165
- });
166
- });
167
- });
168
- describe("sizing props", () => {
169
- it("should apply width", () => {
170
- const { root } = renderWithTheme(React.createElement(Box, { width: 100 }));
171
- const view = root.findByType("View");
172
- expect(view.props.style).toMatchObject({
173
- width: 100,
174
- });
175
- });
176
- it("should apply height", () => {
177
- const { root } = renderWithTheme(React.createElement(Box, { height: 100 }));
178
- const view = root.findByType("View");
179
- expect(view.props.style).toMatchObject({
180
- height: 100,
181
- });
182
- });
183
- it("should apply string width", () => {
184
- const { root } = renderWithTheme(React.createElement(Box, { width: "50%" }));
185
- const view = root.findByType("View");
186
- expect(view.props.style).toMatchObject({
187
- width: "50%",
188
- });
189
- });
190
- it("should apply string height", () => {
191
- const { root } = renderWithTheme(React.createElement(Box, { height: "50%" }));
192
- const view = root.findByType("View");
193
- expect(view.props.style).toMatchObject({
194
- height: "50%",
195
- });
196
- });
197
- });
198
- describe("position props", () => {
199
- it("should apply position absolute", () => {
200
- const { root } = renderWithTheme(React.createElement(Box, { position: "absolute" }));
201
- const view = root.findByType("View");
202
- expect(view.props.style).toMatchObject({
203
- position: "absolute",
204
- });
205
- });
206
- it("should apply top", () => {
207
- const { root } = renderWithTheme(React.createElement(Box, { top: true }));
208
- const view = root.findByType("View");
209
- expect(view.props.style).toMatchObject({
210
- top: 0,
211
- });
212
- });
213
- it("should apply bottom", () => {
214
- const { root } = renderWithTheme(React.createElement(Box, { bottom: true }));
215
- const view = root.findByType("View");
216
- expect(view.props.style).toMatchObject({
217
- bottom: 0,
218
- });
219
- });
220
- it("should apply left", () => {
221
- const { root } = renderWithTheme(React.createElement(Box, { left: true }));
222
- const view = root.findByType("View");
223
- expect(view.props.style).toMatchObject({
224
- left: 0,
225
- });
226
- });
227
- it("should apply right", () => {
228
- const { root } = renderWithTheme(React.createElement(Box, { right: true }));
229
- const view = root.findByType("View");
230
- expect(view.props.style).toMatchObject({
231
- right: 0,
232
- });
233
- });
234
- it("should apply zIndex", () => {
235
- const { root } = renderWithTheme(React.createElement(Box, { zIndex: 10 }));
236
- const view = root.findByType("View");
237
- expect(view.props.style).toMatchObject({
238
- zIndex: 10,
239
- });
240
- });
241
- });
242
- describe("color and surface props", () => {
243
- it("should apply background color", () => {
244
- const { root } = renderWithTheme(React.createElement(Box, { color: "primary" }));
245
- const view = root.findByType("View");
246
- expect(view.props.style.backgroundColor).toBeDefined();
247
- });
248
- });
249
- describe("border props", () => {
250
- it("should apply border", () => {
251
- const { root } = renderWithTheme(React.createElement(Box, { border: "default" }));
252
- const view = root.findByType("View");
253
- expect(view.props.style.borderColor).toBeDefined();
254
- expect(view.props.style.borderWidth).toBe(1);
255
- });
256
- it("should apply borderTop", () => {
257
- const { root } = renderWithTheme(React.createElement(Box, { borderTop: "default" }));
258
- const view = root.findByType("View");
259
- expect(view.props.style.borderTopColor).toBeDefined();
260
- expect(view.props.style.borderTopWidth).toBe(1);
261
- });
262
- it("should apply borderBottom", () => {
263
- const { root } = renderWithTheme(React.createElement(Box, { borderBottom: "default" }));
264
- const view = root.findByType("View");
265
- expect(view.props.style.borderBottomColor).toBeDefined();
266
- expect(view.props.style.borderBottomWidth).toBe(1);
267
- });
268
- it("should apply borderLeft", () => {
269
- const { root } = renderWithTheme(React.createElement(Box, { borderLeft: "default" }));
270
- const view = root.findByType("View");
271
- expect(view.props.style.borderLeftColor).toBeDefined();
272
- expect(view.props.style.borderLeftWidth).toBe(1);
273
- });
274
- it("should apply borderRight", () => {
275
- const { root } = renderWithTheme(React.createElement(Box, { borderRight: "default" }));
276
- const view = root.findByType("View");
277
- expect(view.props.style.borderRightColor).toBeDefined();
278
- expect(view.props.style.borderRightWidth).toBe(1);
279
- });
280
- it("should adjust width for border", () => {
281
- const { root } = renderWithTheme(React.createElement(Box, { border: "default", width: 100 }));
282
- const view = root.findByType("View");
283
- expect(view.props.style.width).toBe(104); // 100 + 2*2 for border
284
- });
285
- it("should adjust height for border", () => {
286
- const { root } = renderWithTheme(React.createElement(Box, { border: "default", height: 100 }));
287
- const view = root.findByType("View");
288
- expect(view.props.style.height).toBe(104); // 100 + 2*2 for border
289
- });
290
- });
291
- describe("rounding props", () => {
292
- it("should apply rounding", () => {
293
- const { root } = renderWithTheme(React.createElement(Box, { rounding: "md" }));
294
- const view = root.findByType("View");
295
- expect(view.props.style.borderRadius).toBe(4);
296
- });
297
- it("should apply circle rounding with width", () => {
298
- const { root } = renderWithTheme(React.createElement(Box, { rounding: "circle", width: 50 }));
299
- const view = root.findByType("View");
300
- expect(view.props.style.borderRadius).toBe(50);
301
- });
302
- it("should apply circle rounding with height", () => {
303
- const { root } = renderWithTheme(React.createElement(Box, { rounding: "circle", height: 50 }));
304
- const view = root.findByType("View");
305
- expect(view.props.style.borderRadius).toBe(50);
306
- });
307
- it("should warn when using circle without dimensions", () => {
308
- const consoleSpy = jest.spyOn(console, "warn").mockImplementation();
309
- renderWithTheme(React.createElement(Box, { rounding: "circle" }));
310
- expect(consoleSpy).toHaveBeenCalledWith("Cannot use Box rounding='circle' without height or width.");
311
- consoleSpy.mockRestore();
312
- });
313
- });
314
- describe("display props", () => {
315
- it("should apply display none", () => {
316
- const { root } = renderWithTheme(React.createElement(Box, { display: "none" }));
317
- const view = root.findByType("View");
318
- expect(view.props.style).toMatchObject({
319
- display: "none",
320
- });
321
- });
322
- it("should apply display flex", () => {
323
- const { root } = renderWithTheme(React.createElement(Box, { display: "flex" }));
324
- const view = root.findByType("View");
325
- expect(view.props.style).toMatchObject({
326
- flex: undefined,
327
- });
328
- });
329
- it("should apply display block", () => {
330
- const { root } = renderWithTheme(React.createElement(Box, { display: "block" }));
331
- const view = root.findByType("View");
332
- expect(view.props.style).toMatchObject({
333
- flex: 0,
334
- flexDirection: "row",
335
- });
336
- });
337
- });
338
- describe("overflow props", () => {
339
- it("should apply overflow scroll", () => {
340
- const { root } = renderWithTheme(React.createElement(Box, { overflow: "scroll" }));
341
- const view = root.findByType("View");
342
- expect(view.props.style).toMatchObject({
343
- overflow: "scroll",
344
- });
345
- });
346
- it("should apply overflow scrollY", () => {
347
- const { root } = renderWithTheme(React.createElement(Box, { overflow: "scrollY" }));
348
- const view = root.findByType("View");
349
- expect(view.props.style).toMatchObject({
350
- overflow: "scroll",
351
- });
352
- });
353
- it("should apply overflow hidden", () => {
354
- const { root } = renderWithTheme(React.createElement(Box, { overflow: "hidden" }));
355
- const view = root.findByType("View");
356
- expect(view.props.style).toMatchObject({
357
- overflow: "hidden",
358
- });
359
- });
360
- });
361
- describe("shadow props", () => {
362
- it("should apply shadow", () => {
363
- const { root } = renderWithTheme(React.createElement(Box, { shadow: true }));
364
- const view = root.findByType("View");
365
- expect(view.props.style).toBeDefined();
366
- });
367
- });
368
- describe("clickable behavior", () => {
369
- it("should render as Pressable when onClick is provided", () => {
370
- const mockOnClick = jest.fn();
371
- const { root } = renderWithTheme(React.createElement(Box, { onClick: mockOnClick, accessibilityLabel: "Click me", accessibilityHint: "Tap to trigger action" },
372
- React.createElement(Text, null, "Clickable content")));
373
- expect(root).toBeTruthy();
374
- // Just verify the component renders without error when onClick is provided
375
- });
376
- it("should call onClick when pressed", async () => {
377
- const mockOnClick = jest.fn();
378
- const { getByTestId } = renderWithTheme(React.createElement(Box, { onClick: mockOnClick, testID: "clickable-box", accessibilityLabel: "Click me", accessibilityHint: "Tap to trigger action" }));
379
- const pressable = getByTestId("clickable-box-clickable");
380
- await act(async () => {
381
- fireEvent.press(pressable);
382
- });
383
- expect(mockOnClick).toHaveBeenCalledTimes(1);
384
- });
385
- it("should apply accessibility props to Pressable", () => {
386
- const mockOnClick = jest.fn();
387
- const { getByTestId } = renderWithTheme(React.createElement(Box, { onClick: mockOnClick, testID: "accessible-box", accessibilityLabel: "Click me", accessibilityHint: "Tap to trigger action" }));
388
- const pressable = getByTestId("accessible-box-clickable");
389
- expect(pressable).toBeTruthy();
390
- // Basic check that accessibility props are being applied
391
- expect(pressable.props).toBeDefined();
392
- });
393
- });
394
- describe("scroll behavior", () => {
395
- it("should render ScrollView when scroll is enabled", () => {
396
- const { root } = renderWithTheme(React.createElement(Box, { scroll: true }));
397
- expect(root).toBeTruthy();
398
- // Just verify the component renders without error when scroll is enabled
399
- });
400
- it("should enable horizontal scrolling when overflow is scrollX", () => {
401
- const { root } = renderWithTheme(React.createElement(Box, { scroll: true, overflow: "scrollX" }));
402
- expect(root).toBeTruthy();
403
- // Just verify the component renders without error when horizontal scroll is enabled
404
- });
405
- it("should call onScroll callback", () => {
406
- const mockOnScroll = jest.fn();
407
- const { root } = renderWithTheme(React.createElement(Box, { scroll: true, onScroll: mockOnScroll }));
408
- expect(root).toBeTruthy();
409
- // Just verify the component renders without error when onScroll is provided
410
- });
411
- });
412
- describe("keyboard avoidance", () => {
413
- it("should render KeyboardAvoidingView when avoidKeyboard is enabled", () => {
414
- const { root } = renderWithTheme(React.createElement(Box, { avoidKeyboard: true }));
415
- expect(root).toBeTruthy();
416
- // Just verify the component renders without error when avoidKeyboard is enabled
417
- });
418
- it("should apply keyboard offset", () => {
419
- const { root } = renderWithTheme(React.createElement(Box, { avoidKeyboard: true, keyboardOffset: 20 }));
420
- expect(root).toBeTruthy();
421
- // Just verify the component renders without error when keyboard offset is provided
422
- });
423
- });
424
- describe("hover events", () => {
425
- it("should call onHoverStart", async () => {
426
- const mockOnHoverStart = jest.fn();
427
- const { getByTestId } = renderWithTheme(React.createElement(Box, { onHoverStart: mockOnHoverStart, testID: "hover-box" }));
428
- const view = getByTestId("hover-box");
429
- await act(async () => {
430
- fireEvent(view, "pointerEnter");
431
- });
432
- expect(mockOnHoverStart).toHaveBeenCalledTimes(1);
433
- });
434
- it("should call onHoverEnd", async () => {
435
- const mockOnHoverEnd = jest.fn();
436
- const { getByTestId } = renderWithTheme(React.createElement(Box, { onHoverEnd: mockOnHoverEnd, testID: "hover-box" }));
437
- const view = getByTestId("hover-box");
438
- await act(async () => {
439
- fireEvent(view, "pointerLeave");
440
- });
441
- expect(mockOnHoverEnd).toHaveBeenCalledTimes(1);
442
- });
443
- });
444
- describe("ref forwarding", () => {
445
- it("should expose scrollToEnd method", () => {
446
- const ref = React.createRef();
447
- renderWithTheme(React.createElement(Box, { ref: ref, scroll: true }));
448
- expect(ref.current).toBeTruthy();
449
- expect(typeof ref.current.scrollToEnd).toBe("function");
450
- });
451
- it("should expose scrollTo method", () => {
452
- const ref = React.createRef();
453
- renderWithTheme(React.createElement(Box, { ref: ref, scroll: true }));
454
- expect(ref.current).toBeTruthy();
455
- expect(typeof ref.current.scrollTo).toBe("function");
456
- });
457
- });
458
- describe("dangerous inline styles", () => {
459
- it("should apply dangerouslySetInlineStyle", () => {
460
- const { root } = renderWithTheme(React.createElement(Box, { dangerouslySetInlineStyle: { __style: { backgroundColor: "red" } } }));
461
- const view = root.findByType("View");
462
- expect(view.props.style).toMatchObject({
463
- backgroundColor: "red",
464
- });
465
- });
466
- });
467
- describe("warnings", () => {
468
- it("should warn when using wrap and alignItems together", () => {
469
- const consoleSpy = jest.spyOn(console, "warn").mockImplementation();
470
- renderWithTheme(React.createElement(Box, { wrap: true, alignItems: "center" }));
471
- expect(consoleSpy).toHaveBeenCalledWith("React Native doesn't support wrap and alignItems together.");
472
- consoleSpy.mockRestore();
473
- });
474
- });
475
- describe("edge cases", () => {
476
- it("should handle undefined children", () => {
477
- const { root } = renderWithTheme(React.createElement(Box, null, undefined));
478
- expect(root).toBeTruthy();
479
- });
480
- it("should handle null children", () => {
481
- const { root } = renderWithTheme(React.createElement(Box, null, null));
482
- expect(root).toBeTruthy();
483
- });
484
- it("should handle multiple children", () => {
485
- const { getByText } = renderWithTheme(React.createElement(Box, null,
486
- React.createElement(Text, null, "First"),
487
- React.createElement(Text, null, "Second")));
488
- expect(getByText("First")).toBeTruthy();
489
- expect(getByText("Second")).toBeTruthy();
490
- });
491
- it("should handle zero values", () => {
492
- const { root } = renderWithTheme(React.createElement(Box, { padding: 0, margin: 0, gap: 0 }));
493
- const view = root.findByType("View");
494
- expect(view.props.style).toMatchObject({
495
- padding: 0,
496
- margin: 0,
497
- gap: 0,
498
- });
499
- });
500
- });
501
- describe("snapshots", () => {
502
- it("should match snapshot with default props", () => {
503
- const component = renderWithTheme(React.createElement(Box, null));
504
- expect(component.toJSON()).toMatchSnapshot();
505
- });
506
- it("should match snapshot with layout props", () => {
507
- const component = renderWithTheme(React.createElement(Box, { direction: "column", flex: "grow", justifyContent: "center", alignItems: "center", padding: 4, margin: 2 }));
508
- expect(component.toJSON()).toMatchSnapshot();
509
- });
510
- it("should match snapshot with clickable props", () => {
511
- const component = renderWithTheme(React.createElement(Box, { onClick: jest.fn(), accessibilityLabel: "Click me", accessibilityHint: "Tap to trigger action" }));
512
- expect(component.toJSON()).toMatchSnapshot();
513
- });
514
- it("should match snapshot with scroll enabled", () => {
515
- const component = renderWithTheme(React.createElement(Box, { scroll: true }));
516
- expect(component.toJSON()).toMatchSnapshot();
517
- });
518
- it("should match snapshot with keyboard avoidance", () => {
519
- const component = renderWithTheme(React.createElement(Box, { avoidKeyboard: true }));
520
- expect(component.toJSON()).toMatchSnapshot();
521
- });
522
- it("should match snapshot with border and rounding", () => {
523
- const component = renderWithTheme(React.createElement(Box, { border: "default", rounding: "md", color: "primary", shadow: true }));
524
- expect(component.toJSON()).toMatchSnapshot();
525
- });
526
- });
527
- });
528
- //# sourceMappingURL=Box.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Box.test.js","sourceRoot":"","sources":["../src/Box.test.tsx"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};