@expo/ui 58.0.8 → 58.0.9

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 (119) hide show
  1. package/CHANGELOG.md +6 -7
  2. package/android/build.gradle +2 -2
  3. package/android/src/main/java/expo/modules/ui/AnimatedVisibilityView.kt +40 -8
  4. package/android/src/main/java/expo/modules/ui/ComposeViews.kt +21 -3
  5. package/android/src/main/java/expo/modules/ui/DatePickerView.kt +12 -4
  6. package/android/src/main/java/expo/modules/ui/ExpoUIModule.kt +5 -1
  7. package/android/src/main/java/expo/modules/ui/HorizontalPagerView.kt +3 -1
  8. package/android/src/main/java/expo/modules/ui/HostView.kt +64 -12
  9. package/android/src/main/java/expo/modules/ui/LazyItemsView.kt +14 -2
  10. package/android/src/main/java/expo/modules/ui/ModalBottomSheetView.kt +5 -1
  11. package/android/src/main/java/expo/modules/ui/ModifierRegistry.kt +29 -4
  12. package/android/src/main/java/expo/modules/ui/RNHostView.kt +3 -1
  13. package/android/src/main/java/expo/modules/ui/ShapeView.kt +3 -1
  14. package/android/src/main/java/expo/modules/ui/SlotView.kt +3 -1
  15. package/android/src/main/java/expo/modules/ui/SnackbarView.kt +5 -1
  16. package/android/src/main/java/expo/modules/ui/TextView.kt +3 -1
  17. package/android/src/main/java/expo/modules/ui/Utils.kt +3 -1
  18. package/android/src/main/java/expo/modules/ui/colors/MaterialColors.kt +5 -1
  19. package/android/src/main/java/expo/modules/ui/convertibles/AnimationSpecParams.kt +3 -1
  20. package/android/src/main/java/expo/modules/ui/graphics/ImageLoader.kt +6 -2
  21. package/android/src/main/java/expo/modules/ui/icon/IconView.kt +5 -1
  22. package/android/src/main/java/expo/modules/ui/state/ObservableState.kt +3 -1
  23. package/android/src/main/java/expo/modules/ui/textfield/BasicTextField.kt +10 -2
  24. package/android/src/main/java/expo/modules/ui/textfield/TextField.kt +20 -4
  25. package/android/src/main/java/expo/modules/ui/textfield/TextFieldShared.kt +3 -1
  26. package/build/jetpack-compose/LazyColumn/index.d.ts +2 -1
  27. package/build/jetpack-compose/LazyColumn/index.js +1 -0
  28. package/build/jetpack-compose/LazyColumn/index.js.map +1 -1
  29. package/build/jetpack-compose/LazyItems/index.d.ts +19 -18
  30. package/build/jetpack-compose/LazyItems/index.js +1 -2
  31. package/build/jetpack-compose/LazyItems/index.js.map +1 -1
  32. package/build/jetpack-compose/LazyRow/index.d.ts +2 -1
  33. package/build/jetpack-compose/LazyRow/index.js +1 -0
  34. package/build/jetpack-compose/LazyRow/index.js.map +1 -1
  35. package/build/jetpack-compose/index.d.ts +0 -1
  36. package/build/jetpack-compose/index.js.map +1 -1
  37. package/build/jetpack-compose/modifiers/index.d.ts +18 -3
  38. package/build/jetpack-compose/modifiers/index.js +15 -2
  39. package/build/jetpack-compose/modifiers/index.js.map +1 -1
  40. package/build/swift-ui/LazyHStack/index.d.ts +45 -0
  41. package/build/swift-ui/LazyHStack/index.js +9 -0
  42. package/build/swift-ui/LazyHStack/index.js.map +1 -1
  43. package/build/swift-ui/LazyStackForEach/index.d.ts +44 -0
  44. package/build/swift-ui/LazyStackForEach/index.js +54 -0
  45. package/build/swift-ui/LazyStackForEach/index.js.map +1 -0
  46. package/build/swift-ui/LazyVStack/index.d.ts +45 -0
  47. package/build/swift-ui/LazyVStack/index.js +9 -0
  48. package/build/swift-ui/LazyVStack/index.js.map +1 -1
  49. package/build/swift-ui/List/DataListForEach.d.ts +6 -7
  50. package/build/swift-ui/List/DataListForEach.js.map +1 -1
  51. package/build/swift-ui/List/ListForEach.d.ts +7 -1
  52. package/build/swift-ui/List/ListForEach.js +1 -5
  53. package/build/swift-ui/List/ListForEach.js.map +1 -1
  54. package/build/swift-ui/index.d.ts +1 -0
  55. package/build/swift-ui/index.js.map +1 -1
  56. package/build/universal/Switch/index.android.js +5 -1
  57. package/build/universal/Switch/index.android.js.map +1 -1
  58. package/expo-module.config.json +0 -1
  59. package/ios/DataListForEachView.swift +65 -28
  60. package/ios/LazyHStackView.swift +3 -0
  61. package/ios/LazyVStackView.swift +3 -0
  62. package/ios/ListView.swift +8 -0
  63. package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.8/expo.modules.ui-58.0.8-sources.jar → 58.0.9/expo.modules.ui-58.0.9-sources.jar} +0 -0
  64. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.9/expo.modules.ui-58.0.9-sources.jar.md5 +1 -0
  65. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.9/expo.modules.ui-58.0.9-sources.jar.sha1 +1 -0
  66. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.9/expo.modules.ui-58.0.9-sources.jar.sha256 +1 -0
  67. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.9/expo.modules.ui-58.0.9-sources.jar.sha512 +1 -0
  68. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.9/expo.modules.ui-58.0.9.aar +0 -0
  69. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.9/expo.modules.ui-58.0.9.aar.md5 +1 -0
  70. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.9/expo.modules.ui-58.0.9.aar.sha1 +1 -0
  71. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.9/expo.modules.ui-58.0.9.aar.sha256 +1 -0
  72. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.9/expo.modules.ui-58.0.9.aar.sha512 +1 -0
  73. package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.8/expo.modules.ui-58.0.8.module → 58.0.9/expo.modules.ui-58.0.9.module} +22 -22
  74. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.9/expo.modules.ui-58.0.9.module.md5 +1 -0
  75. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.9/expo.modules.ui-58.0.9.module.sha1 +1 -0
  76. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.9/expo.modules.ui-58.0.9.module.sha256 +1 -0
  77. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.9/expo.modules.ui-58.0.9.module.sha512 +1 -0
  78. package/local-maven-repo/expo/modules/ui/expo.modules.ui/{58.0.8/expo.modules.ui-58.0.8.pom → 58.0.9/expo.modules.ui-58.0.9.pom} +1 -1
  79. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.9/expo.modules.ui-58.0.9.pom.md5 +1 -0
  80. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.9/expo.modules.ui-58.0.9.pom.sha1 +1 -0
  81. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.9/expo.modules.ui-58.0.9.pom.sha256 +1 -0
  82. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.9/expo.modules.ui-58.0.9.pom.sha512 +1 -0
  83. package/package.json +3 -3
  84. package/prebuilds/output/debug/xcframeworks/ExpoUI.tar.gz +0 -0
  85. package/prebuilds/output/release/xcframeworks/ExpoUI.tar.gz +0 -0
  86. package/src/jetpack-compose/LazyColumn/index.tsx +2 -0
  87. package/src/jetpack-compose/LazyItems/index.tsx +18 -21
  88. package/src/jetpack-compose/LazyRow/index.tsx +2 -0
  89. package/src/jetpack-compose/index.ts +0 -1
  90. package/src/jetpack-compose/modifiers/index.ts +16 -3
  91. package/src/swift-ui/LazyHStack/index.tsx +45 -0
  92. package/src/swift-ui/LazyStackForEach/index.tsx +110 -0
  93. package/src/swift-ui/LazyVStack/index.tsx +45 -0
  94. package/src/swift-ui/List/DataListForEach.tsx +7 -8
  95. package/src/swift-ui/List/ListForEach.tsx +10 -3
  96. package/src/swift-ui/index.tsx +1 -0
  97. package/src/universal/Switch/index.android.tsx +11 -2
  98. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.8/expo.modules.ui-58.0.8-sources.jar.md5 +0 -1
  99. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.8/expo.modules.ui-58.0.8-sources.jar.sha1 +0 -1
  100. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.8/expo.modules.ui-58.0.8-sources.jar.sha256 +0 -1
  101. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.8/expo.modules.ui-58.0.8-sources.jar.sha512 +0 -1
  102. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.8/expo.modules.ui-58.0.8.aar +0 -0
  103. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.8/expo.modules.ui-58.0.8.aar.md5 +0 -1
  104. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.8/expo.modules.ui-58.0.8.aar.sha1 +0 -1
  105. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.8/expo.modules.ui-58.0.8.aar.sha256 +0 -1
  106. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.8/expo.modules.ui-58.0.8.aar.sha512 +0 -1
  107. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.8/expo.modules.ui-58.0.8.module.md5 +0 -1
  108. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.8/expo.modules.ui-58.0.8.module.sha1 +0 -1
  109. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.8/expo.modules.ui-58.0.8.module.sha256 +0 -1
  110. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.8/expo.modules.ui-58.0.8.module.sha512 +0 -1
  111. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.8/expo.modules.ui-58.0.8.pom.md5 +0 -1
  112. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.8/expo.modules.ui-58.0.8.pom.sha1 +0 -1
  113. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.8/expo.modules.ui-58.0.8.pom.sha256 +0 -1
  114. package/local-maven-repo/expo/modules/ui/expo.modules.ui/58.0.8/expo.modules.ui-58.0.8.pom.sha512 +0 -1
  115. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml +0 -13
  116. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.md5 +0 -1
  117. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.sha1 +0 -1
  118. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.sha256 +0 -1
  119. package/local-maven-repo/expo/modules/ui/expo.modules.ui/maven-metadata.xml.sha512 +0 -1
@@ -119,7 +119,9 @@ internal fun String?.toVisualTransformation(): VisualTransformation = when (this
119
119
  }
120
120
 
121
121
  internal fun TextFieldTextStyleRecord?.toTextStyle(context: Context?): TextStyle {
122
- if (this == null) return TextStyle.Default
122
+ if (this == null) {
123
+ return TextStyle.Default
124
+ }
123
125
  return TextStyle(
124
126
  color = colorToComposeColorOrNull(color) ?: androidx.compose.ui.graphics.Color.Unspecified,
125
127
  fontSize = fontSize?.sp ?: TextUnit.Unspecified,
@@ -1,4 +1,5 @@
1
1
  import type { ExpoModifier } from '../../types';
2
+ export { LazyItems, type LazyItemsProps } from '../LazyItems';
2
3
  /**
3
4
  * Content padding values for LazyColumn.
4
5
  */
@@ -51,7 +52,7 @@ export interface LazyColumnProps {
51
52
  export declare function LazyColumn(props: LazyColumnProps): import("react").JSX.Element;
52
53
  export declare namespace LazyColumn {
53
54
  var Items: {
54
- <ItemT>({ recycling, ...props }: import("..").LazyItemsProps<ItemT>): import("react").JSX.Element;
55
+ <T>({ recycling, ...props }: import(".").LazyItemsProps<T>): import("react").JSX.Element;
55
56
  displayName: string;
56
57
  };
57
58
  }
@@ -2,6 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { requireNativeView } from 'expo';
3
3
  import { LazyItems } from '../LazyItems';
4
4
  import { createViewModifierEventListener } from '../modifiers/utils';
5
+ export { LazyItems } from '../LazyItems';
5
6
  const LazyColumnNativeView = requireNativeView('ExpoUI', 'LazyColumnView');
6
7
  function transformProps(props) {
7
8
  const { modifiers, ...restProps } = props;
@@ -1 +1 @@
1
- {"version":3,"sources":["jetpack-compose/LazyColumn/index.tsx"],"sourcesContent":[null],"names":["requireNativeView","LazyItems","createViewModifierEventListener","LazyColumnNativeView","transformProps","props","modifiers","restProps","undefined","LazyColumn","Items"],"mappings":";AAAA,SAASA,iBAAiB,QAAQ,OAAO;AAGzC,SAASC,SAAS,QAAQ,eAAe;AACzC,SAASC,+BAA+B,QAAQ,qBAAqB;AAwDrE,MAAMC,uBAAmEH,kBACvE,UACA;AAGF,SAASI,eAAeC,KAAsB;IAC5C,MAAM,EAAEC,SAAS,EAAE,GAAGC,WAAW,GAAGF;IACpC,OAAO;QACLC;QACA,GAAIA,YAAYJ,gCAAgCI,aAAaE,SAAS;QACtE,GAAGD,SAAS;IACd;AACF;AAEA;;CAEC,GACD,OAAO,SAASE,WAAWJ,KAAsB;IAC/C,qBAAO,KAACF;QAAsB,GAAGC,eAAeC,MAAM;;AACxD;AAEAI,WAAWC,KAAK,GAAGT"}
1
+ {"version":3,"sources":["jetpack-compose/LazyColumn/index.tsx"],"sourcesContent":[null],"names":["requireNativeView","LazyItems","createViewModifierEventListener","LazyColumnNativeView","transformProps","props","modifiers","restProps","undefined","LazyColumn","Items"],"mappings":";AAAA,SAASA,iBAAiB,QAAQ,OAAO;AAGzC,SAASC,SAAS,QAAQ,eAAe;AACzC,SAASC,+BAA+B,QAAQ,qBAAqB;AAErE,SAASD,SAAS,QAA6B,eAAe;AAwD9D,MAAME,uBAAmEH,kBACvE,UACA;AAGF,SAASI,eAAeC,KAAsB;IAC5C,MAAM,EAAEC,SAAS,EAAE,GAAGC,WAAW,GAAGF;IACpC,OAAO;QACLC;QACA,GAAIA,YAAYJ,gCAAgCI,aAAaE,SAAS;QACtE,GAAGD,SAAS;IACd;AACF;AAEA;;CAEC,GACD,OAAO,SAASE,WAAWJ,KAAsB;IAC/C,qBAAO,KAACF;QAAsB,GAAGC,eAAeC,MAAM;;AACxD;AAEAI,WAAWC,KAAK,GAAGT"}
@@ -1,31 +1,33 @@
1
- import { type RenderItem } from '../../recycling/useRecycledRows';
2
- export interface LazyItemsProps<ItemT> {
1
+ import { type ReactElement } from 'react';
2
+ export interface LazyItemsProps<T> {
3
3
  /** Items to display. Replace the array when updating data. */
4
- data: readonly ItemT[];
4
+ data: readonly T[];
5
5
  /** Returns a stable, unique string key, also used as the lazy list item key. */
6
- keyExtractor: (item: ItemT, index: number) => string;
6
+ keyExtractor: (item: T, index: number) => string;
7
7
  /**
8
- * Renders a row. Wrap it in `useCallback`, or every row re-renders on each parent render.
9
- * Recycled rows are reused for other items, so their local state (`useState`) carries over.
10
- * Reset it when the item changes, or keep the state outside the row.
8
+ * Renders an item. Wrap it in `useCallback`, or every item re-renders on each parent render.
9
+ * Recycled views are reused for other items, so their local state (`useState`) carries over.
10
+ * Reset it when the item changes, or keep the state outside the view.
11
11
  */
12
- children: RenderItem<ItemT>;
12
+ children: (info: {
13
+ item: T;
14
+ index: number;
15
+ }) => ReactElement;
13
16
  /**
14
- * Renders only the rows near the visible range and reuses them while scrolling. Set to `false` to
15
- * render every row at once. Set it once; changing it remounts the rows.
17
+ * Renders only the items near the visible range and reuses them while scrolling. Set to `false`
18
+ * to render every item at once. Set it once; changing it remounts the items.
16
19
  * @default true
17
20
  */
18
21
  recycling?: boolean;
19
22
  /**
20
- * Extra rows to prepare on each side of the visible rows. Must be a non-negative integer.
23
+ * Extra items to prepare on each side of the visible items. Must be a non-negative integer.
21
24
  * Ignored when `recycling` is `false`.
22
25
  * @default 10
23
26
  */
24
27
  overscanCount?: number;
25
28
  /**
26
- * Placeholder size in dp along the scroll axis, until a row is measured. Must be positive.
27
- * Measurements reset when the data changes. In `LazyColumn.Items` they also reset when the list
28
- * width changes. Ignored when `recycling` is `false`.
29
+ * Placeholder size in dp along the scroll axis, until an item is measured. Must be positive.
30
+ * Ignored when `recycling` is `false`.
29
31
  * @default 64
30
32
  */
31
33
  estimatedItemSize?: number;
@@ -36,12 +38,11 @@ export interface LazyItemsProps<ItemT> {
36
38
  * so large data sets stay cheap. Rows that are not ready yet show a placeholder of
37
39
  * `estimatedItemSize`, or of the size last measured for that item.
38
40
  *
39
- * Mount it as a direct child of `LazyColumn` or `LazyRow`. Plain children of the same list stay
40
- * single items, so static and recycled content can be mixed in order.
41
+ * Mount it as a direct child of `LazyColumn` or `LazyRow`.
41
42
  * @platform android
42
43
  */
43
44
  export declare const LazyItems: {
44
- <ItemT>({ recycling, ...props }: LazyItemsProps<ItemT>): import("react").JSX.Element;
45
+ <T>({ recycling, ...props }: LazyItemsProps<T>): import("react").JSX.Element;
45
46
  displayName: string;
46
47
  };
47
48
  /**
@@ -49,6 +50,6 @@ export declare const LazyItems: {
49
50
  * Creates the `Items` component of one lazy list, so its errors name that list.
50
51
  */
51
52
  export declare function createLazyItems(componentName: string): {
52
- <ItemT>({ recycling, ...props }: LazyItemsProps<ItemT>): import("react").JSX.Element;
53
+ <T>({ recycling, ...props }: LazyItemsProps<T>): import("react").JSX.Element;
53
54
  displayName: string;
54
55
  };
@@ -11,8 +11,7 @@ const LazyItemsPoolNativeView = requireNativeView('ExpoUI', 'LazyItemsPoolView')
11
11
  * so large data sets stay cheap. Rows that are not ready yet show a placeholder of
12
12
  * `estimatedItemSize`, or of the size last measured for that item.
13
13
  *
14
- * Mount it as a direct child of `LazyColumn` or `LazyRow`. Plain children of the same list stay
15
- * single items, so static and recycled content can be mixed in order.
14
+ * Mount it as a direct child of `LazyColumn` or `LazyRow`.
16
15
  * @platform android
17
16
  */ export const LazyItems = createLazyItems('LazyColumn.Items');
18
17
  /**
@@ -1 +1 @@
1
- {"version":3,"sources":["jetpack-compose/LazyItems/index.tsx"],"sourcesContent":[null],"names":["requireNativeView","Fragment","useItemKeys","useRecycledRows","LazyItemsNativeView","LazyItemsSlotNativeView","LazyItemsPoolNativeView","LazyItems","createLazyItems","componentName","Items","recycling","props","RecycledItems","StaticItems","data","keyExtractor","children","renderItem","itemKeys","map","item","index","overscanCount","estimatedItemSize","revision","rows","onWindowChange","Slot","nativeEvent","displayName"],"mappings":";AAAA,SAASA,iBAAiB,QAAQ,OAAO;AACzC,SAASC,QAAQ,QAA2B,QAAQ;AAEpD,SACEC,WAAW,EACXC,eAAe,QAIV,kCAAkC;AA0CzC,MAAMC,sBACJJ,kBAAwC,UAAU;AACpD,MAAMK,0BACJL,kBAAqC,UAAU;AACjD,MAAMM,0BACJN,kBAAkB,UAAU;AAE9B;;;;;;;;;CASC,GACD,OAAO,MAAMO,YAAYC,gBAAgB,oBAAoB;AAE7D;;;CAGC,GACD,OAAO,SAASA,gBAAgBC,aAAqB;IACnD,SAASC,MAAa,EAAEC,YAAY,IAAI,EAAE,GAAGC,OAA8B;QACzE,OAAOD,0BAAY,KAACE;YAAe,GAAGD,KAAK;2BAAO,KAACE;YAAa,GAAGF,KAAK;;IAC1E;IAEA,2EAA2E;IAC3E,SAASE,YAAmB,EAC1BC,IAAI,EACJC,YAAY,EACZC,UAAUC,UAAU,EACqB;QACzC,MAAMC,WAAWjB,YAAYO,eAAeM,MAAMC;QAClD,OAAOD,KAAKK,GAAG,CAAC,CAACC,MAAMC,sBACrB,KAACrB;0BAAgCiB,WAAW;oBAAEG;oBAAMC;gBAAM;eAA3CH,QAAQ,CAACG,MAAM;IAElC;IAEA,SAAST,cAAqB,EAC5BE,IAAI,EACJC,YAAY,EACZC,UAAUC,UAAU,EACpBK,aAAa,EACbC,oBAAoB,EAAE,EACmB;QACzC,MAAM,EAAEL,QAAQ,EAAEM,QAAQ,EAAEC,IAAI,EAAEC,cAAc,EAAE,GAAGxB,gBAAgB;YACnEM;YACAmB,MAAMvB;YACNU;YACAC;YACAE;YACAK;YACAC;QACF;QAEA,qBACE,KAACpB;YACCe,UAAUA;YACVM,UAAUA;YACVD,mBAAmBA;YACnBG,gBAAgB,CAAC,EAAEE,WAAW,EAAE,GAAKF,eAAeE;sBACpD,cAAA,KAACvB;0BAAyBoB;;;IAGhC;IACAhB,MAAMoB,WAAW,GAAGrB;IACpB,OAAOC;AACT"}
1
+ {"version":3,"sources":["jetpack-compose/LazyItems/index.tsx"],"sourcesContent":[null],"names":["requireNativeView","Fragment","useItemKeys","useRecycledRows","LazyItemsNativeView","LazyItemsSlotNativeView","LazyItemsPoolNativeView","LazyItems","createLazyItems","componentName","Items","recycling","props","RecycledItems","StaticItems","data","keyExtractor","children","renderItem","itemKeys","map","item","index","overscanCount","estimatedItemSize","revision","rows","onWindowChange","Slot","nativeEvent","displayName"],"mappings":";AAAA,SAASA,iBAAiB,QAAQ,OAAO;AACzC,SAASC,QAAQ,QAA2B,QAAQ;AAEpD,SACEC,WAAW,EACXC,eAAe,QAGV,kCAAkC;AAyCzC,MAAMC,sBACJJ,kBAAwC,UAAU;AACpD,MAAMK,0BACJL,kBAAqC,UAAU;AACjD,MAAMM,0BACJN,kBAAkB,UAAU;AAE9B;;;;;;;;CAQC,GACD,OAAO,MAAMO,YAAYC,gBAAgB,oBAAoB;AAE7D;;;CAGC,GACD,OAAO,SAASA,gBAAgBC,aAAqB;IACnD,SAASC,MAAS,EAAEC,YAAY,IAAI,EAAE,GAAGC,OAA0B;QACjE,OAAOD,0BAAY,KAACE;YAAe,GAAGD,KAAK;2BAAO,KAACE;YAAa,GAAGF,KAAK;;IAC1E;IAEA,2EAA2E;IAC3E,SAASE,YAAe,EACtBC,IAAI,EACJC,YAAY,EACZC,UAAUC,UAAU,EACiB;QACrC,MAAMC,WAAWjB,YAAYO,eAAeM,MAAMC;QAClD,OAAOD,KAAKK,GAAG,CAAC,CAACC,MAAMC,sBACrB,KAACrB;0BAAgCiB,WAAW;oBAAEG;oBAAMC;gBAAM;eAA3CH,QAAQ,CAACG,MAAM;IAElC;IAEA,SAAST,cAAiB,EACxBE,IAAI,EACJC,YAAY,EACZC,UAAUC,UAAU,EACpBK,aAAa,EACbC,oBAAoB,EAAE,EACe;QACrC,MAAM,EAAEL,QAAQ,EAAEM,QAAQ,EAAEC,IAAI,EAAEC,cAAc,EAAE,GAAGxB,gBAAgB;YACnEM;YACAmB,MAAMvB;YACNU;YACAC;YACAE;YACAK;YACAC;QACF;QAEA,qBACE,KAACpB;YACCe,UAAUA;YACVM,UAAUA;YACVD,mBAAmBA;YACnBG,gBAAgB,CAAC,EAAEE,WAAW,EAAE,GAAKF,eAAeE;sBACpD,cAAA,KAACvB;0BAAyBoB;;;IAGhC;IACAhB,MAAMoB,WAAW,GAAGrB;IACpB,OAAOC;AACT"}
@@ -1,5 +1,6 @@
1
1
  import type { ExpoModifier } from '../../types';
2
2
  import { type ContentPadding } from '../LazyColumn';
3
+ export { LazyItems, type LazyItemsProps } from '../LazyItems';
3
4
  export interface LazyRowProps {
4
5
  /**
5
6
  * The content to display inside the lazy row.
@@ -31,7 +32,7 @@ export interface LazyRowProps {
31
32
  export declare function LazyRow(props: LazyRowProps): import("react").JSX.Element;
32
33
  export declare namespace LazyRow {
33
34
  var Items: {
34
- <ItemT>({ recycling, ...props }: import("..").LazyItemsProps<ItemT>): import("react").JSX.Element;
35
+ <T>({ recycling, ...props }: import(".").LazyItemsProps<T>): import("react").JSX.Element;
35
36
  displayName: string;
36
37
  };
37
38
  }
@@ -2,6 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { requireNativeView } from 'expo';
3
3
  import { createLazyItems } from '../LazyItems';
4
4
  import { createViewModifierEventListener } from '../modifiers/utils';
5
+ export { LazyItems } from '../LazyItems';
5
6
  const LazyRowNativeView = requireNativeView('ExpoUI', 'LazyRowView');
6
7
  function transformProps(props) {
7
8
  const { modifiers, ...restProps } = props;
@@ -1 +1 @@
1
- {"version":3,"sources":["jetpack-compose/LazyRow/index.tsx"],"sourcesContent":[null],"names":["requireNativeView","createLazyItems","createViewModifierEventListener","LazyRowNativeView","transformProps","props","modifiers","restProps","undefined","LazyRow","Items"],"mappings":";AAAA,SAASA,iBAAiB,QAAQ,OAAO;AAIzC,SAASC,eAAe,QAAQ,eAAe;AAC/C,SAASC,+BAA+B,QAAQ,qBAAqB;AAkCrE,MAAMC,oBAA6DH,kBACjE,UACA;AAGF,SAASI,eAAeC,KAAmB;IACzC,MAAM,EAAEC,SAAS,EAAE,GAAGC,WAAW,GAAGF;IACpC,OAAO;QACLC;QACA,GAAIA,YAAYJ,gCAAgCI,aAAaE,SAAS;QACtE,GAAGD,SAAS;IACd;AACF;AAEA;;CAEC,GACD,OAAO,SAASE,QAAQJ,KAAmB;IACzC,qBAAO,KAACF;QAAmB,GAAGC,eAAeC,MAAM;;AACrD;AAEAI,QAAQC,KAAK,GAAGT,gBAAgB"}
1
+ {"version":3,"sources":["jetpack-compose/LazyRow/index.tsx"],"sourcesContent":[null],"names":["requireNativeView","createLazyItems","createViewModifierEventListener","LazyItems","LazyRowNativeView","transformProps","props","modifiers","restProps","undefined","LazyRow","Items"],"mappings":";AAAA,SAASA,iBAAiB,QAAQ,OAAO;AAIzC,SAASC,eAAe,QAAQ,eAAe;AAC/C,SAASC,+BAA+B,QAAQ,qBAAqB;AAErE,SAASC,SAAS,QAA6B,eAAe;AAkC9D,MAAMC,oBAA6DJ,kBACjE,UACA;AAGF,SAASK,eAAeC,KAAmB;IACzC,MAAM,EAAEC,SAAS,EAAE,GAAGC,WAAW,GAAGF;IACpC,OAAO;QACLC;QACA,GAAIA,YAAYL,gCAAgCK,aAAaE,SAAS;QACtE,GAAGD,SAAS;IACd;AACF;AAEA;;CAEC,GACD,OAAO,SAASE,QAAQJ,KAAmB;IACzC,qBAAO,KAACF;QAAmB,GAAGC,eAAeC,MAAM;;AACrD;AAEAI,QAAQC,KAAK,GAAGV,gBAAgB"}
@@ -16,7 +16,6 @@ export * from './ExposedDropdownMenuBox';
16
16
  export * from './Divider';
17
17
  export * from './Host';
18
18
  export * from './LazyColumn';
19
- export { type LazyItemsProps } from './LazyItems';
20
19
  export * from './LazyRow';
21
20
  export * from './ListItem';
22
21
  export * from './RNHostView';
@@ -1 +1 @@
1
- {"version":3,"sources":["jetpack-compose/index.ts"],"sourcesContent":[null],"names":["BasicAlertDialog","TextField","OutlinedTextField","BasicTextField","HorizontalPager","Text","useNativeState"],"mappings":"AAAA,OAAO,wCAAwC;AAE/C,cAAc,gBAAgB;AAC9B,cAAc,UAAU;AACxB,cAAc,cAAc;AAC5B,SAASA,gBAAgB,QAAoC,qBAAqB;AAClF,cAAc,SAAS;AACvB,cAAc,aAAa;AAC3B,cAAc,SAAS;AACvB,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,SAAS;AACvB,cAAc,UAAU;AACxB,cAAc,eAAe;AAC7B,cAAc,iBAAiB;AAC/B,cAAc,2BAA2B;AACzC,cAAc,YAAY;AAC1B,cAAc,SAAS;AACvB,cAAc,eAAe;AAE7B,cAAc,YAAY;AAC1B,cAAc,aAAa;AAC3B,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B,cAAc,oBAAoB;AAClC,cAAc,aAAa;AAC3B,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,eAAe;AAC7B,SACEC,SAAS,EACTC,iBAAiB,EACjBC,cAAc,QAcT,cAAc;AACrB,cAAc,iBAAiB;AAC/B,cAAc,UAAU;AACxB,cAAc,qBAAqB;AACnC,cAAc,kBAAkB;AAChC,cAAc,aAAa;AAC3B,SACEC,eAAe,QAGV,oBAAoB;AAC3B,cAAc,cAAc;AAC5B,cAAc,aAAa;AAC3B,cAAc,oBAAoB;AAClC,cAAc,8BAA8B;AAC5C,cAAc,yBAAyB;AACvC,cAAc,qBAAqB;AACnC,cAAc,gBAAgB;AAC9B,cAAc,YAAY;AAC1B,SAAyBC,IAAI,QAAQ,SAAS;AAC9C,cAAc,YAAY;AAC1B,cAAc,qBAAqB;AAEnC,cAAc,uBAAuB;AACrC,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,WAAW;AACzB,cAAc,YAAY;AAC1B,SAASC,cAAc,QAAQ,WAAW"}
1
+ {"version":3,"sources":["jetpack-compose/index.ts"],"sourcesContent":[null],"names":["BasicAlertDialog","TextField","OutlinedTextField","BasicTextField","HorizontalPager","Text","useNativeState"],"mappings":"AAAA,OAAO,wCAAwC;AAE/C,cAAc,gBAAgB;AAC9B,cAAc,UAAU;AACxB,cAAc,cAAc;AAC5B,SAASA,gBAAgB,QAAoC,qBAAqB;AAClF,cAAc,SAAS;AACvB,cAAc,aAAa;AAC3B,cAAc,SAAS;AACvB,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,SAAS;AACvB,cAAc,UAAU;AACxB,cAAc,eAAe;AAC7B,cAAc,iBAAiB;AAC/B,cAAc,2BAA2B;AACzC,cAAc,YAAY;AAC1B,cAAc,SAAS;AACvB,cAAc,eAAe;AAC7B,cAAc,YAAY;AAC1B,cAAc,aAAa;AAC3B,cAAc,eAAe;AAC7B,cAAc,eAAe;AAC7B,cAAc,oBAAoB;AAClC,cAAc,aAAa;AAC3B,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,WAAW;AACzB,cAAc,eAAe;AAC7B,SACEC,SAAS,EACTC,iBAAiB,EACjBC,cAAc,QAcT,cAAc;AACrB,cAAc,iBAAiB;AAC/B,cAAc,UAAU;AACxB,cAAc,qBAAqB;AACnC,cAAc,kBAAkB;AAChC,cAAc,aAAa;AAC3B,SACEC,eAAe,QAGV,oBAAoB;AAC3B,cAAc,cAAc;AAC5B,cAAc,aAAa;AAC3B,cAAc,oBAAoB;AAClC,cAAc,8BAA8B;AAC5C,cAAc,yBAAyB;AACvC,cAAc,qBAAqB;AACnC,cAAc,gBAAgB;AAC9B,cAAc,YAAY;AAC1B,SAAyBC,IAAI,QAAQ,SAAS;AAC9C,cAAc,YAAY;AAC1B,cAAc,qBAAqB;AAEnC,cAAc,uBAAuB;AACrC,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,WAAW;AACzB,cAAc,YAAY;AAC1B,SAASC,cAAc,QAAQ,WAAW"}
@@ -38,10 +38,25 @@ export declare const fillMaxWidth: (fraction?: number) => import("./createModifi
38
38
  */
39
39
  export declare const fillMaxHeight: (fraction?: number) => import("./createModifier").ModifierConfig;
40
40
  /**
41
- * Sets the exact width of the view.
42
- * @param value - Width in dp.
41
+ * Intrinsic width values for the `width` modifier. `Min` is the smallest width at which the content
42
+ * still draws correctly, and `Max` is the width the content needs when nothing limits it.
43
43
  */
44
- export declare const width: (value: number) => import("./createModifier").ModifierConfig;
44
+ export declare const IntrinsicSize: {
45
+ readonly Min: "min";
46
+ readonly Max: "max";
47
+ };
48
+ export type IntrinsicSize = (typeof IntrinsicSize)[keyof typeof IntrinsicSize];
49
+ /**
50
+ * Sets the width of the view to an exact value, or to the minimum or maximum intrinsic width of its
51
+ * content. The incoming constraints can still make the view narrower or wider than that width.
52
+ * @param value - Width in dp, or an `IntrinsicSize`. `IntrinsicSize.Min` uses the minimum intrinsic
53
+ * width, the smallest width at which the content still draws correctly (for a text, its widest word).
54
+ * `IntrinsicSize.Max` uses the maximum intrinsic width, the width the content needs when nothing
55
+ * limits it (for a text, a single line).
56
+ * @see [Compose `width(IntrinsicSize)` modifier](https://developer.android.com/reference/kotlin/androidx/compose/foundation/layout/width.modifier#(androidx.compose.ui.Modifier).width(androidx.compose.foundation.layout.IntrinsicSize))
57
+ * @see [Intrinsic measurements in Compose layouts](https://developer.android.com/develop/ui/compose/layouts/intrinsic-measurements)
58
+ */
59
+ export declare const width: (value: number | IntrinsicSize) => import("./createModifier").ModifierConfig;
45
60
  /**
46
61
  * Sets the exact height of the view.
47
62
  * @param value - Height in dp.
@@ -48,8 +48,21 @@ export { animated, spring, tween, snap, keyframes } from './animation';
48
48
  fraction
49
49
  });
50
50
  /**
51
- * Sets the exact width of the view.
52
- * @param value - Width in dp.
51
+ * Intrinsic width values for the `width` modifier. `Min` is the smallest width at which the content
52
+ * still draws correctly, and `Max` is the width the content needs when nothing limits it.
53
+ */ export const IntrinsicSize = {
54
+ Min: 'min',
55
+ Max: 'max'
56
+ };
57
+ /**
58
+ * Sets the width of the view to an exact value, or to the minimum or maximum intrinsic width of its
59
+ * content. The incoming constraints can still make the view narrower or wider than that width.
60
+ * @param value - Width in dp, or an `IntrinsicSize`. `IntrinsicSize.Min` uses the minimum intrinsic
61
+ * width, the smallest width at which the content still draws correctly (for a text, its widest word).
62
+ * `IntrinsicSize.Max` uses the maximum intrinsic width, the width the content needs when nothing
63
+ * limits it (for a text, a single line).
64
+ * @see [Compose `width(IntrinsicSize)` modifier](https://developer.android.com/reference/kotlin/androidx/compose/foundation/layout/width.modifier#(androidx.compose.ui.Modifier).width(androidx.compose.foundation.layout.IntrinsicSize))
65
+ * @see [Intrinsic measurements in Compose layouts](https://developer.android.com/develop/ui/compose/layouts/intrinsic-measurements)
53
66
  */ export const width = (value)=>createModifier('width', {
54
67
  width: value
55
68
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["jetpack-compose/modifiers/index.ts"],"sourcesContent":[null],"names":["createModifier","createModifierWithEventListener","animated","spring","tween","snap","keyframes","paddingAll","all","padding","start","top","end","bottom","size","width","height","fillMaxSize","fraction","fillMaxWidth","fillMaxHeight","value","defaultMinSize","options","wrapContentWidth","alignment","wrapContentHeight","imePadding","offset","x","y","background","color","animationSpec","border","borderWidth","borderColor","shadow","elevation","dropShadow","shape","config","innerShadow","alpha","blur","radius","cornerRadius","rotate","degrees","graphicsLayer","params","zIndex","index","animateContentSize","dampingRatio","stiffness","weight","align","matchParentSize","menuAnchor","type","enabled","clickable","handler","indication","combinedClickable","handlers","event","onClick","onLongClick","selectable","selected","role","selectableGroup","toggleable","onVisibilityChanged","isVisible","minDurationMs","minFractionVisible","onSizeChanged","onGloballyPositioned","layout","testID","tag","semantics","material","name","Shapes","Rectangle","Circle","RoundedCorner","CutCorner","Material","Cookie4Sided","Cookie6Sided","Cookie7Sided","Cookie9Sided","Cookie12Sided","Clover4Leaf","Clover8Leaf","SoftBurst","Boom","Oval","Pill","Triangle","Diamond","Pentagon","Sunny","VerySunny","Fan","PixelCircle","PixelTriangle","Ghostish","Bun","Heart","Arch","Slanted","Puffy","PuffyDiamond","clip","maskClip","verticalScroll","horizontalScroll","createViewModifierEventListener"],"mappings":"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"}
1
+ {"version":3,"sources":["jetpack-compose/modifiers/index.ts"],"sourcesContent":[null],"names":["createModifier","createModifierWithEventListener","animated","spring","tween","snap","keyframes","paddingAll","all","padding","start","top","end","bottom","size","width","height","fillMaxSize","fraction","fillMaxWidth","fillMaxHeight","IntrinsicSize","Min","Max","value","defaultMinSize","options","wrapContentWidth","alignment","wrapContentHeight","imePadding","offset","x","y","background","color","animationSpec","border","borderWidth","borderColor","shadow","elevation","dropShadow","shape","config","innerShadow","alpha","blur","radius","cornerRadius","rotate","degrees","graphicsLayer","params","zIndex","index","animateContentSize","dampingRatio","stiffness","weight","align","matchParentSize","menuAnchor","type","enabled","clickable","handler","indication","combinedClickable","handlers","event","onClick","onLongClick","selectable","selected","role","selectableGroup","toggleable","onVisibilityChanged","isVisible","minDurationMs","minFractionVisible","onSizeChanged","onGloballyPositioned","layout","testID","tag","semantics","material","name","Shapes","Rectangle","Circle","RoundedCorner","CutCorner","Material","Cookie4Sided","Cookie6Sided","Cookie7Sided","Cookie9Sided","Cookie12Sided","Clover4Leaf","Clover8Leaf","SoftBurst","Boom","Oval","Pill","Triangle","Diamond","Pentagon","Sunny","VerySunny","Fan","PixelCircle","PixelTriangle","Ghostish","Bun","Heart","Arch","Slanted","Puffy","PuffyDiamond","clip","maskClip","verticalScroll","horizontalScroll","createViewModifierEventListener"],"mappings":"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"}
@@ -1,4 +1,38 @@
1
+ import { type ReactElement } from 'react';
1
2
  import { type CommonViewModifierProps } from '../types';
3
+ export interface LazyHStackForEachProps<T> {
4
+ /** Items to display. Replace the array when updating data. */
5
+ data: readonly T[];
6
+ /** Returns a stable, unique string key for each item. */
7
+ keyExtractor: (item: T, index: number) => string;
8
+ /**
9
+ * Renders an item. Wrap it in `useCallback`, or every item re-renders on each parent render.
10
+ * Recycled views are reused for other items, so their local state (`useState`) carries over.
11
+ * Reset it when the item changes, or keep the state outside the view.
12
+ */
13
+ children: (info: {
14
+ item: T;
15
+ index: number;
16
+ }) => ReactElement;
17
+ /**
18
+ * Renders only the items near the visible range and reuses them while scrolling. Set to `false`
19
+ * to render every item at once. Set it once; changing it remounts the items.
20
+ * @default true
21
+ */
22
+ recycling?: boolean;
23
+ /**
24
+ * Extra items to prepare on each side of the visible items. Must be a non-negative integer.
25
+ * Ignored when `recycling` is `false`.
26
+ * @default 10
27
+ */
28
+ overscanCount?: number;
29
+ /**
30
+ * Placeholder size in points along the stack axis, until an item is measured. Must be positive.
31
+ * Ignored when `recycling` is `false`.
32
+ * @default 64
33
+ */
34
+ estimatedItemSize?: number;
35
+ }
2
36
  export interface LazyHStackProps extends CommonViewModifierProps {
3
37
  children: React.ReactNode;
4
38
  /**
@@ -11,3 +45,14 @@ export interface LazyHStackProps extends CommonViewModifierProps {
11
45
  alignment?: 'top' | 'center' | 'bottom' | 'firstTextBaseline' | 'lastTextBaseline';
12
46
  }
13
47
  export declare function LazyHStack(props: LazyHStackProps): import("react").JSX.Element;
48
+ export declare namespace LazyHStack {
49
+ var ForEach: <T>(props: LazyHStackForEachProps<T>) => ReactElement;
50
+ }
51
+ /**
52
+ * A block of recycled items inside `LazyHStack`. Only a small pool of items around the visible
53
+ * range is mounted. Items that are not ready yet show a placeholder of `estimatedItemSize`, or of
54
+ * the size last measured for that item.
55
+ *
56
+ * Mount it as a direct child of `LazyHStack`.
57
+ */
58
+ export declare const LazyHStackForEach: <T>(props: LazyHStackForEachProps<T>) => ReactElement;
@@ -1,5 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { requireNativeView } from 'expo';
3
+ import { createLazyStackForEach } from '../LazyStackForEach';
3
4
  import { createViewModifierEventListener } from '../modifiers/utils';
4
5
  const LazyHStackNativeView = requireNativeView('ExpoUI', 'LazyHStackView');
5
6
  export function LazyHStack(props) {
@@ -10,5 +11,13 @@ export function LazyHStack(props) {
10
11
  ...restProps
11
12
  });
12
13
  }
14
+ /**
15
+ * A block of recycled items inside `LazyHStack`. Only a small pool of items around the visible
16
+ * range is mounted. Items that are not ready yet show a placeholder of `estimatedItemSize`, or of
17
+ * the size last measured for that item.
18
+ *
19
+ * Mount it as a direct child of `LazyHStack`.
20
+ */ export const LazyHStackForEach = createLazyStackForEach('LazyHStack.ForEach', 'horizontal');
21
+ LazyHStack.ForEach = LazyHStackForEach;
13
22
 
14
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["swift-ui/LazyHStack/index.tsx"],"sourcesContent":[null],"names":["requireNativeView","createViewModifierEventListener","LazyHStackNativeView","LazyHStack","props","modifiers","restProps","undefined"],"mappings":";AAAA,SAASA,iBAAiB,QAAQ,OAAO;AAEzC,SAASC,+BAA+B,QAAQ,qBAAqB;AAerE,MAAMC,uBAA6DF,kBACjE,UACA;AAGF,OAAO,SAASG,WAAWC,KAAsB;IAC/C,MAAM,EAAEC,SAAS,EAAE,GAAGC,WAAW,GAAGF;IACpC,qBACE,KAACF;QACCG,WAAWA;QACV,GAAIA,YAAYJ,gCAAgCI,aAAaE,SAAS;QACtE,GAAGD,SAAS;;AAGnB"}
1
+ {"version":3,"sources":["swift-ui/LazyHStack/index.tsx"],"sourcesContent":[null],"names":["requireNativeView","createLazyStackForEach","createViewModifierEventListener","LazyHStackNativeView","LazyHStack","props","modifiers","restProps","undefined","LazyHStackForEach","ForEach"],"mappings":";AAAA,SAASA,iBAAiB,QAAQ,OAAO;AAGzC,SAASC,sBAAsB,QAAQ,sBAAsB;AAC7D,SAASC,+BAA+B,QAAQ,qBAAqB;AA8CrE,MAAMC,uBAA6DH,kBACjE,UACA;AAGF,OAAO,SAASI,WAAWC,KAAsB;IAC/C,MAAM,EAAEC,SAAS,EAAE,GAAGC,WAAW,GAAGF;IACpC,qBACE,KAACF;QACCG,WAAWA;QACV,GAAIA,YAAYJ,gCAAgCI,aAAaE,SAAS;QACtE,GAAGD,SAAS;;AAGnB;AAEA;;;;;;CAMC,GACD,OAAO,MAAME,oBACXR,uBAAuB,sBAAsB,cAAc;AAE7DG,WAAWM,OAAO,GAAGD"}
@@ -0,0 +1,44 @@
1
+ import { type ReactElement } from 'react';
2
+ export interface LazyStackForEachProps<T> {
3
+ /** Items to display. Replace the array when updating data. */
4
+ data: readonly T[];
5
+ /** Returns a stable, unique string key for each item. */
6
+ keyExtractor: (item: T, index: number) => string;
7
+ /**
8
+ * Renders a row. Wrap it in `useCallback`, or every row re-renders on each parent render.
9
+ * Recycled rows are reused for other items, so their local state (`useState`) carries over.
10
+ * Reset it when the item changes, or keep the state outside the row.
11
+ */
12
+ children: (info: {
13
+ item: T;
14
+ index: number;
15
+ }) => ReactElement;
16
+ /**
17
+ * Renders only the rows near the visible range and reuses them while scrolling. Set to `false` to
18
+ * render every row at once. Set it once; changing it remounts the rows.
19
+ * @default true
20
+ */
21
+ recycling?: boolean;
22
+ /**
23
+ * Extra rows to prepare on each side of the visible rows. Must be a non-negative integer.
24
+ * Ignored when `recycling` is `false`.
25
+ * @default 10
26
+ */
27
+ overscanCount?: number;
28
+ /**
29
+ * Placeholder size in points along the stack axis, until a row is measured. Must be positive.
30
+ * Ignored when `recycling` is `false`.
31
+ * @default 64
32
+ */
33
+ estimatedItemSize?: number;
34
+ }
35
+ type Axis = 'vertical' | 'horizontal';
36
+ /**
37
+ * @hidden
38
+ * Creates the `ForEach` component of one lazy stack, so its errors name that stack.
39
+ */
40
+ export declare function createLazyStackForEach(componentName: string, axis: Axis): {
41
+ <T>({ recycling, ...props }: LazyStackForEachProps<T>): import("react").JSX.Element;
42
+ displayName: string;
43
+ };
44
+ export {};
@@ -0,0 +1,54 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { requireNativeView } from 'expo';
3
+ import { Fragment } from 'react';
4
+ import { useItemKeys, useRecycledRows } from '../../recycling/useRecycledRows';
5
+ import { NativeSlot } from '../List/DataListForEach';
6
+ const NativeForEach = requireNativeView('ExpoUI', 'DataListForEachView');
7
+ const NativePool = requireNativeView('ExpoUI', 'DataListForEachPoolView');
8
+ /**
9
+ * @hidden
10
+ * Creates the `ForEach` component of one lazy stack, so its errors name that stack.
11
+ */ export function createLazyStackForEach(componentName, axis) {
12
+ function ForEach({ recycling = true, ...props }) {
13
+ return recycling ? /*#__PURE__*/ _jsx(RecycledForEach, {
14
+ ...props
15
+ }) : /*#__PURE__*/ _jsx(StaticForEach, {
16
+ ...props
17
+ });
18
+ }
19
+ // Each row is a plain child of the lazy stack.
20
+ function StaticForEach({ data, keyExtractor, children: renderItem }) {
21
+ const itemKeys = useItemKeys(componentName, data, keyExtractor);
22
+ return data.map((item, index)=>/*#__PURE__*/ _jsx(Fragment, {
23
+ children: renderItem({
24
+ item,
25
+ index
26
+ })
27
+ }, itemKeys[index]));
28
+ }
29
+ function RecycledForEach({ data, keyExtractor, children: renderItem, overscanCount, estimatedItemSize = 64 }) {
30
+ const { itemKeys, revision, rows, onWindowChange } = useRecycledRows({
31
+ componentName,
32
+ Slot: NativeSlot,
33
+ data,
34
+ keyExtractor,
35
+ renderItem,
36
+ overscanCount,
37
+ estimatedItemSize
38
+ });
39
+ return /*#__PURE__*/ _jsx(NativeForEach, {
40
+ axis: axis,
41
+ itemKeys: itemKeys,
42
+ revision: revision,
43
+ estimatedItemSize: estimatedItemSize,
44
+ onWindowChange: ({ nativeEvent })=>onWindowChange(nativeEvent),
45
+ children: /*#__PURE__*/ _jsx(NativePool, {
46
+ children: rows
47
+ })
48
+ });
49
+ }
50
+ ForEach.displayName = componentName;
51
+ return ForEach;
52
+ }
53
+
54
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["swift-ui/LazyStackForEach/index.tsx"],"sourcesContent":[null],"names":["requireNativeView","Fragment","useItemKeys","useRecycledRows","NativeSlot","NativeForEach","NativePool","createLazyStackForEach","componentName","axis","ForEach","recycling","props","RecycledForEach","StaticForEach","data","keyExtractor","children","renderItem","itemKeys","map","item","index","overscanCount","estimatedItemSize","revision","rows","onWindowChange","Slot","nativeEvent","displayName"],"mappings":";AAAA,SAASA,iBAAiB,QAAQ,OAAO;AACzC,SAASC,QAAQ,QAA2B,QAAQ;AAEpD,SACEC,WAAW,EACXC,eAAe,QAEV,kCAAkC;AAEzC,SAASC,UAAU,QAAQ,0BAA0B;AA2CrD,MAAMC,gBAAgBL,kBAA+B,UAAU;AAC/D,MAAMM,aAAaN,kBACjB,UACA;AAGF;;;CAGC,GACD,OAAO,SAASO,uBAAuBC,aAAqB,EAAEC,IAAU;IACtE,SAASC,QAAW,EAAEC,YAAY,IAAI,EAAE,GAAGC,OAAiC;QAC1E,OAAOD,0BAAY,KAACE;YAAiB,GAAGD,KAAK;2BAAO,KAACE;YAAe,GAAGF,KAAK;;IAC9E;IAEA,+CAA+C;IAC/C,SAASE,cAAiB,EACxBC,IAAI,EACJC,YAAY,EACZC,UAAUC,UAAU,EACwB;QAC5C,MAAMC,WAAWjB,YAAYM,eAAeO,MAAMC;QAClD,OAAOD,KAAKK,GAAG,CAAC,CAACC,MAAMC,sBACrB,KAACrB;0BAAgCiB,WAAW;oBAAEG;oBAAMC;gBAAM;eAA3CH,QAAQ,CAACG,MAAM;IAElC;IAEA,SAAST,gBAAmB,EAC1BE,IAAI,EACJC,YAAY,EACZC,UAAUC,UAAU,EACpBK,aAAa,EACbC,oBAAoB,EAAE,EACsB;QAC5C,MAAM,EAAEL,QAAQ,EAAEM,QAAQ,EAAEC,IAAI,EAAEC,cAAc,EAAE,GAAGxB,gBAAgB;YACnEK;YACAoB,MAAMxB;YACNW;YACAC;YACAE;YACAK;YACAC;QACF;QAEA,qBACE,KAACnB;YACCI,MAAMA;YACNU,UAAUA;YACVM,UAAUA;YACVD,mBAAmBA;YACnBG,gBAAgB,CAAC,EAAEE,WAAW,EAAE,GAAKF,eAAeE;sBACpD,cAAA,KAACvB;0BAAYoB;;;IAGnB;IACAhB,QAAQoB,WAAW,GAAGtB;IACtB,OAAOE;AACT"}
@@ -1,4 +1,38 @@
1
+ import { type ReactElement } from 'react';
1
2
  import { type CommonViewModifierProps } from '../types';
3
+ export interface LazyVStackForEachProps<T> {
4
+ /** Items to display. Replace the array when updating data. */
5
+ data: readonly T[];
6
+ /** Returns a stable, unique string key for each item. */
7
+ keyExtractor: (item: T, index: number) => string;
8
+ /**
9
+ * Renders a row. Wrap it in `useCallback`, or every row re-renders on each parent render.
10
+ * Recycled rows are reused for other items, so their local state (`useState`) carries over.
11
+ * Reset it when the item changes, or keep the state outside the row.
12
+ */
13
+ children: (info: {
14
+ item: T;
15
+ index: number;
16
+ }) => ReactElement;
17
+ /**
18
+ * Renders only the rows near the visible range and reuses them while scrolling. Set to `false` to
19
+ * render every row at once. Set it once; changing it remounts the rows.
20
+ * @default true
21
+ */
22
+ recycling?: boolean;
23
+ /**
24
+ * Extra rows to prepare on each side of the visible rows. Must be a non-negative integer.
25
+ * Ignored when `recycling` is `false`.
26
+ * @default 10
27
+ */
28
+ overscanCount?: number;
29
+ /**
30
+ * Placeholder size in points along the stack axis, until a row is measured. Must be positive.
31
+ * Ignored when `recycling` is `false`.
32
+ * @default 64
33
+ */
34
+ estimatedItemSize?: number;
35
+ }
2
36
  export interface LazyVStackProps extends CommonViewModifierProps {
3
37
  children: React.ReactNode;
4
38
  /**
@@ -11,3 +45,14 @@ export interface LazyVStackProps extends CommonViewModifierProps {
11
45
  spacing?: number;
12
46
  }
13
47
  export declare function LazyVStack(props: LazyVStackProps): import("react").JSX.Element;
48
+ export declare namespace LazyVStack {
49
+ var ForEach: <T>(props: LazyVStackForEachProps<T>) => ReactElement;
50
+ }
51
+ /**
52
+ * A block of recycled rows inside `LazyVStack`. Only a small pool of rows around the visible
53
+ * range is mounted. Rows that are not ready yet show a placeholder of `estimatedItemSize`, or of
54
+ * the size last measured for that row.
55
+ *
56
+ * Mount it as a direct child of `LazyVStack`.
57
+ */
58
+ export declare const LazyVStackForEach: <T>(props: LazyVStackForEachProps<T>) => ReactElement;
@@ -1,5 +1,6 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { requireNativeView } from 'expo';
3
+ import { createLazyStackForEach } from '../LazyStackForEach';
3
4
  import { createViewModifierEventListener } from '../modifiers/utils';
4
5
  const LazyVStackNativeView = requireNativeView('ExpoUI', 'LazyVStackView');
5
6
  export function LazyVStack(props) {
@@ -10,5 +11,13 @@ export function LazyVStack(props) {
10
11
  ...restProps
11
12
  });
12
13
  }
14
+ /**
15
+ * A block of recycled rows inside `LazyVStack`. Only a small pool of rows around the visible
16
+ * range is mounted. Rows that are not ready yet show a placeholder of `estimatedItemSize`, or of
17
+ * the size last measured for that row.
18
+ *
19
+ * Mount it as a direct child of `LazyVStack`.
20
+ */ export const LazyVStackForEach = createLazyStackForEach('LazyVStack.ForEach', 'vertical');
21
+ LazyVStack.ForEach = LazyVStackForEach;
13
22
 
14
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["swift-ui/LazyVStack/index.tsx"],"sourcesContent":[null],"names":["requireNativeView","createViewModifierEventListener","LazyVStackNativeView","LazyVStack","props","modifiers","restProps","undefined"],"mappings":";AAAA,SAASA,iBAAiB,QAAQ,OAAO;AAEzC,SAASC,+BAA+B,QAAQ,qBAAqB;AAerE,MAAMC,uBAA6DF,kBACjE,UACA;AAGF,OAAO,SAASG,WAAWC,KAAsB;IAC/C,MAAM,EAAEC,SAAS,EAAE,GAAGC,WAAW,GAAGF;IACpC,qBACE,KAACF;QACCG,WAAWA;QACV,GAAIA,YAAYJ,gCAAgCI,aAAaE,SAAS;QACtE,GAAGD,SAAS;;AAGnB"}
1
+ {"version":3,"sources":["swift-ui/LazyVStack/index.tsx"],"sourcesContent":[null],"names":["requireNativeView","createLazyStackForEach","createViewModifierEventListener","LazyVStackNativeView","LazyVStack","props","modifiers","restProps","undefined","LazyVStackForEach","ForEach"],"mappings":";AAAA,SAASA,iBAAiB,QAAQ,OAAO;AAGzC,SAASC,sBAAsB,QAAQ,sBAAsB;AAC7D,SAASC,+BAA+B,QAAQ,qBAAqB;AA8CrE,MAAMC,uBAA6DH,kBACjE,UACA;AAGF,OAAO,SAASI,WAAWC,KAAsB;IAC/C,MAAM,EAAEC,SAAS,EAAE,GAAGC,WAAW,GAAGF;IACpC,qBACE,KAACF;QACCG,WAAWA;QACV,GAAIA,YAAYJ,gCAAgCI,aAAaE,SAAS;QACtE,GAAGD,SAAS;;AAGnB;AAEA;;;;;;CAMC,GACD,OAAO,MAAME,oBACXR,uBAAuB,sBAAsB,YAAY;AAE3DG,WAAWM,OAAO,GAAGD"}
@@ -1,7 +1,7 @@
1
1
  import { type ReactElement } from 'react';
2
2
  import { type RecycledSlotProps } from '../../recycling/useRecycledRows';
3
3
  import { type CommonViewModifierProps } from '../types';
4
- export interface ListForEachProps<ItemT> extends CommonViewModifierProps {
4
+ export interface ListForEachProps<T> extends CommonViewModifierProps {
5
5
  /** Called with deleted indices from this group's `data` array. */
6
6
  onDelete?: (indices: number[]) => void;
7
7
  /**
@@ -10,9 +10,9 @@ export interface ListForEachProps<ItemT> extends CommonViewModifierProps {
10
10
  */
11
11
  onMove?: (sourceIndices: number[], destination: number) => void;
12
12
  /** Items to display. Replace the array when updating data. */
13
- data: readonly ItemT[];
13
+ data: readonly T[];
14
14
  /** Returns a stable, unique string key, also used for `List` selection. */
15
- keyExtractor: (item: ItemT, index: number) => string;
15
+ keyExtractor: (item: T, index: number) => string;
16
16
  /**
17
17
  * Renders a row. When `recycling` is `true`, wrap it in `useCallback`, or every row
18
18
  * re-renders on each parent render.
@@ -20,7 +20,7 @@ export interface ListForEachProps<ItemT> extends CommonViewModifierProps {
20
20
  * Reset it when the item changes, or keep the state outside the row.
21
21
  */
22
22
  children: (info: {
23
- item: ItemT;
23
+ item: T;
24
24
  index: number;
25
25
  }) => ReactElement;
26
26
  /**
@@ -37,8 +37,7 @@ export interface ListForEachProps<ItemT> extends CommonViewModifierProps {
37
37
  overscanCount?: number;
38
38
  /**
39
39
  * Placeholder height in points, excluding `List` insets, until a row is measured.
40
- * Must be positive. Measurements reset when `data` or width changes.
41
- * Ignored when `recycling` is `false`.
40
+ * Must be positive. Ignored when `recycling` is `false`.
42
41
  * @default 64
43
42
  */
44
43
  estimatedItemSize?: number;
@@ -49,4 +48,4 @@ export declare const NativeSlot: import("react").ComponentType<RecycledSlotProps
49
48
  * Rows show placeholders while JS prepares content. Native keys still cover the full data set.
50
49
  * @platform ios
51
50
  */
52
- export declare function DataListForEach<ItemT>({ data, keyExtractor, children: renderItem, overscanCount, estimatedItemSize, modifiers, onDelete, onMove, ...props }: ListForEachProps<ItemT>): import("react").JSX.Element;
51
+ export declare function DataListForEach<T>({ data, keyExtractor, children: renderItem, overscanCount, estimatedItemSize, modifiers, onDelete, onMove, ...props }: ListForEachProps<T>): import("react").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"sources":["swift-ui/List/DataListForEach.tsx"],"sourcesContent":[null],"names":["requireNativeView","useRecycledRows","createViewModifierEventListener","NativeList","NativeSlot","NativePool","DataListForEach","data","keyExtractor","children","renderItem","overscanCount","estimatedItemSize","modifiers","onDelete","onMove","props","itemKeys","revision","rows","onWindowChange","isCurrentRevision","componentName","Slot","undefined","deleteEnabled","moveEnabled","nativeEvent","indices","sourceIndices","destination"],"mappings":";AAAA,SAASA,iBAAiB,QAAQ,OAAO;AAGzC,SACEC,eAAe,QAGV,kCAAkC;AAEzC,SAASC,+BAA+B,QAAQ,qBAAqB;AAuDrE,MAAMC,aAAaH,kBAA+B,UAAU;AAC5D,OAAO,MAAMI,aAAaJ,kBAAqC,UAAU,2BAA2B;AACpG,MAAMK,aAAaL,kBACjB,UACA;AAGF;;;;CAIC,GACD,OAAO,SAASM,gBAAuB,EACrCC,IAAI,EACJC,YAAY,EACZC,UAAUC,UAAU,EACpBC,aAAa,EACbC,oBAAoB,EAAE,EACtBC,SAAS,EACTC,QAAQ,EACRC,MAAM,EACN,GAAGC,OACqB;IACxB,MAAM,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,cAAc,EAAEC,iBAAiB,EAAE,GAAGpB,gBAAgB;QACtFqB,eAAe;QACfC,MAAMnB;QACNG;QACAC;QACAE;QACAC;QACAC;IACF;IAEA,qBACE,KAACT;QACE,GAAGa,KAAK;QACTH,WAAWA;QACV,GAAIA,YAAYX,gCAAgCW,aAAaW,SAAS;QACvEC,eAAe,CAAC,CAACX;QACjBY,aAAa,CAAC,CAACX;QACfD,UACEA,WACI,CAAC,EAAEa,WAAW,EAAE;YACd,IAAIN,kBAAkBM,YAAYT,QAAQ,GAAGJ,SAASa,YAAYC,OAAO;QAC3E,IACAJ;QAENT,QACEA,SACI,CAAC,EAAEY,WAAW,EAAE;YACd,IAAIN,kBAAkBM,YAAYT,QAAQ,GAAG;gBAC3CH,OAAOY,YAAYE,aAAa,EAAEF,YAAYG,WAAW;YAC3D;QACF,IACAN;QAENP,UAAUA;QACVC,UAAUA;QACVN,mBAAmBA;QACnBQ,gBAAgB,CAAC,EAAEO,WAAW,EAAE,GAAKP,eAAeO;kBACpD,cAAA,KAACtB;sBAAYc;;;AAGnB"}
1
+ {"version":3,"sources":["swift-ui/List/DataListForEach.tsx"],"sourcesContent":[null],"names":["requireNativeView","useRecycledRows","createViewModifierEventListener","NativeList","NativeSlot","NativePool","DataListForEach","data","keyExtractor","children","renderItem","overscanCount","estimatedItemSize","modifiers","onDelete","onMove","props","itemKeys","revision","rows","onWindowChange","isCurrentRevision","componentName","Slot","undefined","deleteEnabled","moveEnabled","nativeEvent","indices","sourceIndices","destination"],"mappings":";AAAA,SAASA,iBAAiB,QAAQ,OAAO;AAGzC,SACEC,eAAe,QAGV,kCAAkC;AAEzC,SAASC,+BAA+B,QAAQ,qBAAqB;AAsDrE,MAAMC,aAAaH,kBAA+B,UAAU;AAC5D,OAAO,MAAMI,aAAaJ,kBAAqC,UAAU,2BAA2B;AACpG,MAAMK,aAAaL,kBACjB,UACA;AAGF;;;;CAIC,GACD,OAAO,SAASM,gBAAmB,EACjCC,IAAI,EACJC,YAAY,EACZC,UAAUC,UAAU,EACpBC,aAAa,EACbC,oBAAoB,EAAE,EACtBC,SAAS,EACTC,QAAQ,EACRC,MAAM,EACN,GAAGC,OACiB;IACpB,MAAM,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,IAAI,EAAEC,cAAc,EAAEC,iBAAiB,EAAE,GAAGpB,gBAAgB;QACtFqB,eAAe;QACfC,MAAMnB;QACNG;QACAC;QACAE;QACAC;QACAC;IACF;IAEA,qBACE,KAACT;QACE,GAAGa,KAAK;QACTH,WAAWA;QACV,GAAIA,YAAYX,gCAAgCW,aAAaW,SAAS;QACvEC,eAAe,CAAC,CAACX;QACjBY,aAAa,CAAC,CAACX;QACfD,UACEA,WACI,CAAC,EAAEa,WAAW,EAAE;YACd,IAAIN,kBAAkBM,YAAYT,QAAQ,GAAGJ,SAASa,YAAYC,OAAO;QAC3E,IACAJ;QAENT,QACEA,SACI,CAAC,EAAEY,WAAW,EAAE;YACd,IAAIN,kBAAkBM,YAAYT,QAAQ,GAAG;gBAC3CH,OAAOY,YAAYE,aAAa,EAAEF,YAAYG,WAAW;YAC3D;QACF,IACAN;QAENP,UAAUA;QACVC,UAAUA;QACVN,mBAAmBA;QACnBQ,gBAAgB,CAAC,EAAEO,WAAW,EAAE,GAAKP,eAAeO;kBACpD,cAAA,KAACtB;sBAAYc;;;AAGnB"}