aix 0.7.1-alpha.3 → 0.7.1-alpha.5

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 (62) hide show
  1. package/android/src/main/java/com/aix/HybridAix.kt +0 -3
  2. package/ios/HybridAix.swift +28 -69
  3. package/lib/commonjs/aix.js +7 -1
  4. package/lib/commonjs/aix.js.map +1 -1
  5. package/lib/commonjs/dropzone.ios.js +19 -0
  6. package/lib/commonjs/dropzone.ios.js.map +1 -0
  7. package/lib/commonjs/dropzone.js +13 -0
  8. package/lib/commonjs/dropzone.js.map +1 -0
  9. package/lib/commonjs/index.js +16 -0
  10. package/lib/commonjs/index.js.map +1 -1
  11. package/lib/commonjs/input-wrapper.ios.js +19 -0
  12. package/lib/commonjs/input-wrapper.ios.js.map +1 -0
  13. package/lib/commonjs/input-wrapper.js +13 -0
  14. package/lib/commonjs/input-wrapper.js.map +1 -0
  15. package/lib/module/aix.js +7 -1
  16. package/lib/module/aix.js.map +1 -1
  17. package/lib/module/dropzone.ios.js +14 -0
  18. package/lib/module/dropzone.ios.js.map +1 -0
  19. package/lib/module/dropzone.js +9 -0
  20. package/lib/module/dropzone.js.map +1 -0
  21. package/lib/module/index.js +2 -0
  22. package/lib/module/index.js.map +1 -1
  23. package/lib/module/input-wrapper.ios.js +14 -0
  24. package/lib/module/input-wrapper.ios.js.map +1 -0
  25. package/lib/module/input-wrapper.js +9 -0
  26. package/lib/module/input-wrapper.js.map +1 -0
  27. package/lib/typescript/src/aix.d.ts +8 -1
  28. package/lib/typescript/src/aix.d.ts.map +1 -1
  29. package/lib/typescript/src/dropzone.d.ts +9 -0
  30. package/lib/typescript/src/dropzone.d.ts.map +1 -0
  31. package/lib/typescript/src/dropzone.ios.d.ts +9 -0
  32. package/lib/typescript/src/dropzone.ios.d.ts.map +1 -0
  33. package/lib/typescript/src/index.d.ts +3 -0
  34. package/lib/typescript/src/index.d.ts.map +1 -1
  35. package/lib/typescript/src/input-wrapper.d.ts +9 -0
  36. package/lib/typescript/src/input-wrapper.d.ts.map +1 -0
  37. package/lib/typescript/src/input-wrapper.ios.d.ts +9 -0
  38. package/lib/typescript/src/input-wrapper.ios.d.ts.map +1 -0
  39. package/lib/typescript/src/views/aix.nitro.d.ts +61 -3
  40. package/lib/typescript/src/views/aix.nitro.d.ts.map +1 -1
  41. package/nitrogen/generated/android/AixOnLoad.cpp +2 -0
  42. package/nitrogen/generated/android/c++/JFunc_void.hpp +75 -0
  43. package/nitrogen/generated/android/c++/JHybridAixSpec.cpp +27 -4
  44. package/nitrogen/generated/android/c++/JHybridAixSpec.hpp +4 -1
  45. package/nitrogen/generated/android/c++/views/JHybridAixStateUpdater.cpp +8 -0
  46. package/nitrogen/generated/android/kotlin/com/margelo/nitro/aix/Func_void.kt +80 -0
  47. package/nitrogen/generated/android/kotlin/com/margelo/nitro/aix/HybridAixSpec.kt +20 -4
  48. package/nitrogen/generated/ios/Aix-Swift-Cxx-Bridge.cpp +8 -0
  49. package/nitrogen/generated/ios/Aix-Swift-Cxx-Bridge.hpp +37 -0
  50. package/nitrogen/generated/ios/c++/HybridAixSpecSwift.hpp +14 -6
  51. package/nitrogen/generated/ios/c++/views/HybridAixComponent.mm +10 -0
  52. package/nitrogen/generated/ios/swift/Func_void.swift +47 -0
  53. package/nitrogen/generated/ios/swift/HybridAixSpec.swift +2 -1
  54. package/nitrogen/generated/ios/swift/HybridAixSpec_cxx.swift +48 -24
  55. package/nitrogen/generated/shared/c++/HybridAixSpec.cpp +4 -1
  56. package/nitrogen/generated/shared/c++/HybridAixSpec.hpp +4 -1
  57. package/nitrogen/generated/shared/c++/views/HybridAixComponent.cpp +24 -0
  58. package/nitrogen/generated/shared/c++/views/HybridAixComponent.hpp +2 -0
  59. package/nitrogen/generated/shared/json/AixConfig.json +2 -0
  60. package/package.json +1 -1
  61. package/src/aix.tsx +11 -1
  62. package/src/views/aix.nitro.ts +26 -5
@@ -31,7 +31,4 @@ class HybridAix(val context: ThemedReactContext): HybridAixSpec() {
31
31
  // TODO: Implement for Android
32
32
  }
33
33
 
34
- override fun scrollToIndexWhenBlankSizeReady(index: Double, animated: Boolean?, waitForKeyboardToEnd: Boolean?) {
35
- // TODO: Implement for Android
36
- }
37
34
  }
@@ -114,6 +114,18 @@ class HybridAix: HybridAixSpec, AixContext, KeyboardNotificationsDelegate {
114
114
  var onWillApplyContentInsets: ((_ insets: AixContentInsets) -> Void)? = nil
115
115
  var onScrolledNearEndChange: ((_ isNearEnd: Bool) -> Void)? = nil
116
116
 
117
+ /// When set to a valid index (>= 0), the scroll to this blank view index will be animated.
118
+ /// After the animated scroll completes, onDidScrollToIndex is called.
119
+ /// -1 is the sentinel value meaning "no scroll target" (sent from React to avoid null).
120
+ var scrollToIndex: Double? = nil
121
+ var onDidScrollToIndex: (() -> Void)? = nil
122
+
123
+ /// Returns the valid scrollToIndex target, or nil if unset / sentinel (-1).
124
+ private var scrollToIndexTarget: Int? {
125
+ guard let scrollToIndex, Int(scrollToIndex) >= 0 else { return nil }
126
+ return Int(scrollToIndex)
127
+ }
128
+
117
129
  var additionalContentInsets: AixAdditionalContentInsetsProp?
118
130
 
119
131
  var additionalScrollIndicatorInsets: AixScrollIndicatorInsets? {
@@ -145,24 +157,6 @@ class HybridAix: HybridAixSpec, AixContext, KeyboardNotificationsDelegate {
145
157
  }
146
158
  }
147
159
 
148
- func scrollToIndexWhenBlankSizeReady(index: Double, animated: Bool?, waitForKeyboardToEnd: Bool?) throws {
149
- queuedScrollToEnd = QueuedScrollToEnd(index: Int(index), animated: animated ?? true, waitForKeyboardToEnd: waitForKeyboardToEnd ?? false)
150
-
151
- DispatchQueue.main.async { [weak self] in
152
- guard let self else { return }
153
-
154
- // Clear any in-progress keyboard scroll interpolation since we're taking over scrolling
155
- if let event = self.startEvent {
156
- self.startEvent = KeyboardStartEvent(
157
- scrollY: event.scrollY,
158
- isOpening: event.isOpening,
159
- interpolateContentOffsetY: nil
160
- )
161
- }
162
-
163
- self.flushQueuedScrollToEnd()
164
- }
165
- }
166
160
 
167
161
  private var didScrollToEndInitially: Bool = false
168
162
 
@@ -203,17 +197,7 @@ class HybridAix: HybridAixSpec, AixContext, KeyboardNotificationsDelegate {
203
197
  return 0
204
198
  }
205
199
 
206
- // MARK: - Private Types
207
-
208
- struct QueuedScrollToEnd {
209
- var index: Int
210
- var animated: Bool
211
- var waitForKeyboardToEnd: Bool
212
- }
213
-
214
200
  // MARK: - Private State
215
- /// Queued scroll operation waiting for blank view to update
216
- private var queuedScrollToEnd: QueuedScrollToEnd? = nil
217
201
 
218
202
  /// Registered cells - using NSMapTable for weak references to avoid retain cycles
219
203
  /// Key: cell index, Value: weak reference to cell
@@ -521,18 +505,14 @@ class HybridAix: HybridAixSpec, AixContext, KeyboardNotificationsDelegate {
521
505
 
522
506
  let scrollY = scrollView?.contentOffset.y ?? 0
523
507
 
524
- var interpolateContentOffsetY: (CGFloat, CGFloat)? = {
508
+ let interpolateContentOffsetY: (CGFloat, CGFloat)? = {
525
509
  if isOpening {
526
510
  return self.getContentOffsetYWhenOpening(scrollY: scrollY)
527
511
  } else {
528
512
  return self.getContentOffsetYWhenClosing(scrollY: scrollY)
529
513
  }
530
514
  }()
531
-
532
- if queuedScrollToEnd != nil {
533
- interpolateContentOffsetY = nil
534
- }
535
-
515
+
536
516
  startEvent = KeyboardStartEvent(
537
517
  scrollY: scrollY,
538
518
  isOpening: isOpening,
@@ -550,10 +530,6 @@ class HybridAix: HybridAixSpec, AixContext, KeyboardNotificationsDelegate {
550
530
  applyAllInsets()
551
531
 
552
532
  startEvent = nil
553
-
554
- if queuedScrollToEnd?.waitForKeyboardToEnd == true {
555
- flushQueuedScrollToEnd(force: true)
556
- }
557
533
  }
558
534
 
559
535
  // MARK: - Initialization
@@ -639,22 +615,20 @@ class HybridAix: HybridAixSpec, AixContext, KeyboardNotificationsDelegate {
639
615
  // Set initial state based on actual scroll position after layout
640
616
  prevIsScrolledNearEnd = getIsScrolledNearEnd(distFromEnd: distFromEnd)
641
617
  }
642
-
618
+
643
619
  // Enable callbacks only after all setup is complete
644
620
  didScrollToEndInitially = true
645
621
  return
646
622
  }
647
-
623
+
648
624
  // Check if we were near end BEFORE applying new insets
649
625
  let wasNearEnd = getIsScrolledNearEnd(distFromEnd: distFromEnd)
650
626
 
651
627
  applyAllInsets()
652
628
 
653
- // If there's a queued scroll waiting, let it handle the scroll with animation
654
- if let queued = queuedScrollToEnd, index == queued.index {
655
- flushQueuedScrollToEnd()
656
- } else if wasNearEnd {
657
- // Otherwise, if we were scrolled near end, re-scroll to maintain position
629
+ // If scrollToIndexTarget matches, defer the content cell may not have
630
+ // registered yet, so blankSize would be stale. registerCell will flush it.
631
+ if wasNearEnd && scrollToIndexTarget != index {
658
632
  scrollToEndInternal(animated: false)
659
633
  }
660
634
  }
@@ -667,26 +641,28 @@ class HybridAix: HybridAixSpec, AixContext, KeyboardNotificationsDelegate {
667
641
  let currentSize = cell.view.bounds.size
668
642
  reportBlankViewSizeChange(size: currentSize, index: Int(cell.index))
669
643
  } else if didScrollToEndInitially {
670
- // Check if we were near end BEFORE applying new insets
671
644
  let wasNearEnd = getIsScrolledNearEnd(distFromEnd: distFromEnd)
672
645
 
673
- // A content cell registered after initial setup - recalculate insets
674
646
  applyAllInsets()
675
647
 
676
- // If we were scrolled near end and no queued scroll, re-scroll to maintain position
677
- if wasNearEnd && queuedScrollToEnd == nil {
648
+ // Flush deferred animated scroll the content cell is now registered
649
+ // so blankSize is accurate
650
+ if let target = scrollToIndexTarget, let blankView, target == Int(blankView.index) {
651
+ scrollToEndInternal(animated: true)
652
+ onDidScrollToIndex?()
653
+ } else if wasNearEnd && scrollToIndexTarget == nil {
678
654
  scrollToEndInternal(animated: false)
679
655
  }
680
656
  }
681
657
  }
682
-
658
+
683
659
  func unregisterCell(_ cell: HybridAixCellView) {
684
660
  cells.removeObject(forKey: NSNumber(value: cell.index))
685
-
661
+
686
662
  // If this was our blank view, clear it
687
663
  if blankView === cell {
688
664
  blankView = nil
689
- }
665
+ }
690
666
  }
691
667
 
692
668
  func registerComposerView(_ composerView: HybridAixComposer) {
@@ -734,24 +710,7 @@ class HybridAix: HybridAixSpec, AixContext, KeyboardNotificationsDelegate {
734
710
  return cells.object(forKey: NSNumber(value: index))
735
711
  }
736
712
 
737
-
738
- // MARK: - Scrolling
739
- func getIsQueuedScrollToEndReady(queuedScrollToEnd: QueuedScrollToEnd) -> Bool {
740
- guard let blankView else { return false }
741
- if queuedScrollToEnd.waitForKeyboardToEnd == true && startEvent != nil {
742
- return false
743
- }
744
- return blankView.isLast && queuedScrollToEnd.index == Int(blankView.index)
745
- }
746
-
747
713
 
748
- func flushQueuedScrollToEnd(force: Bool = false) {
749
- if let queuedScrollToEnd, (force || getIsQueuedScrollToEndReady(queuedScrollToEnd: queuedScrollToEnd)) {
750
- scrollToEndInternal(animated: queuedScrollToEnd.animated)
751
- self.queuedScrollToEnd = nil
752
- }
753
- }
754
-
755
714
  // MARK: - Keyboard Notification Handlers
756
715
  func keyboardWillShow(notification: NSNotification) {
757
716
  guard let userInfo = notification.userInfo,
@@ -17,6 +17,9 @@ const AixInternal = _reactNativeReanimated.default.createAnimatedComponent((0, _
17
17
  const Aix = exports.Aix = /*#__PURE__*/(0, _react.forwardRef)(function Aix(props, ref) {
18
18
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(AixInternal, {
19
19
  ...props,
20
+ // Send -1 as sentinel when undefined to avoid sending null to native,
21
+ // which crashes the Nitro bridge ("Value is null, expected a number").
22
+ scrollToIndex: props.scrollToIndex ?? -1,
20
23
  scrollOnFooterSizeUpdate: props.scrollOnFooterSizeUpdate ?? {
21
24
  enabled: true,
22
25
  scrolledToEndThreshold: 100,
@@ -27,7 +30,10 @@ const Aix = exports.Aix = /*#__PURE__*/(0, _react.forwardRef)(function Aix(props
27
30
  onWillApplyContentInsets: props.onWillApplyContentInsets ? (0, _reactNativeNitroModules.callback)(props.onWillApplyContentInsets) : undefined
28
31
  // Wrap onScrolledNearEndChange with callback() if provided
29
32
  ,
30
- onScrolledNearEndChange: props.onScrolledNearEndChange ? (0, _reactNativeNitroModules.callback)(props.onScrolledNearEndChange) : undefined,
33
+ onScrolledNearEndChange: props.onScrolledNearEndChange ? (0, _reactNativeNitroModules.callback)(props.onScrolledNearEndChange) : undefined
34
+ // Wrap onDidScrollToIndex with callback() if provided
35
+ ,
36
+ onDidScrollToIndex: props.onDidScrollToIndex ? (0, _reactNativeNitroModules.callback)(props.onDidScrollToIndex) : undefined,
31
37
  hybridRef: ref ? (0, _reactNativeNitroModules.callback)(r => {
32
38
  if (typeof ref === 'function') {
33
39
  ref(r);
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeNitroModules","require","_AixConfig","_interopRequireDefault","_react","_reactNativeReanimated","_jsxRuntime","e","__esModule","default","AixInternal","Animated","createAnimatedComponent","getHostComponent","AixConfig","Aix","exports","forwardRef","props","ref","jsx","scrollOnFooterSizeUpdate","enabled","scrolledToEndThreshold","animated","onWillApplyContentInsets","callback","undefined","onScrolledNearEndChange","hybridRef","r","current"],"sourceRoot":"../../src","sources":["aix.tsx"],"mappings":";;;;;;AAAA,IAAAA,wBAAA,GAAAC,OAAA;AAKA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,sBAAA,GAAAF,sBAAA,CAAAF,OAAA;AAA8C,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAE,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAI9C,MAAMG,WAAW,GAAGC,8BAAQ,CAACC,uBAAuB,CAAC,IAAAC,yCAAgB,EACnE,KAAK,EACL,MAAMC,kBACR,CAAC,CAAC;;AAEF;;AASO,MAAMC,GAAG,GAAAC,OAAA,CAAAD,GAAA,gBAAG,IAAAE,iBAAU,EAC3B,SAASF,GAAGA,CAACG,KAAK,EAAEC,GAAG,EAAE;EACvB,oBACE,IAAAb,WAAA,CAAAc,GAAA,EAACV,WAAW;IAAA,GACNQ,KAAK;IACTG,wBAAwB,EACtBH,KAAK,CAACG,wBAAwB,IAAI;MAChCC,OAAO,EAAE,IAAI;MACbC,sBAAsB,EAAE,GAAG;MAC3BC,QAAQ,EAAE;IACZ;IAEF;IAAA;IACAC,wBAAwB,EACtBP,KAAK,CAACO,wBAAwB,GAC1B,IAAAC,iCAAQ,EAACR,KAAK,CAACO,wBAAwB,CAAC,GACxCE;IAEN;IAAA;IACAC,uBAAuB,EACrBV,KAAK,CAACU,uBAAuB,GACzB,IAAAF,iCAAQ,EAACR,KAAK,CAACU,uBAAuB,CAAC,GACvCD,SACL;IACDE,SAAS,EACPV,GAAG,GACC,IAAAO,iCAAQ,EAAEI,CAAC,IAAK;MAChB,IAAI,OAAOX,GAAG,KAAK,UAAU,EAAE;QAC7BA,GAAG,CAACW,CAAC,CAAC;MACR,CAAC,MAAM;QACLX,GAAG,CAACY,OAAO,GAAGD,CAAC;MACjB;IACF,CAAC,CAAC,GACAH;EACL,CACF,CAAC;AAEN,CACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeNitroModules","require","_AixConfig","_interopRequireDefault","_react","_reactNativeReanimated","_jsxRuntime","e","__esModule","default","AixInternal","Animated","createAnimatedComponent","getHostComponent","AixConfig","Aix","exports","forwardRef","props","ref","jsx","scrollToIndex","scrollOnFooterSizeUpdate","enabled","scrolledToEndThreshold","animated","onWillApplyContentInsets","callback","undefined","onScrolledNearEndChange","onDidScrollToIndex","hybridRef","r","current"],"sourceRoot":"../../src","sources":["aix.tsx"],"mappings":";;;;;;AAAA,IAAAA,wBAAA,GAAAC,OAAA;AAKA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,sBAAA,GAAAF,sBAAA,CAAAF,OAAA;AAA8C,IAAAK,WAAA,GAAAL,OAAA;AAAA,SAAAE,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAI9C,MAAMG,WAAW,GAAGC,8BAAQ,CAACC,uBAAuB,CAAC,IAAAC,yCAAgB,EACnE,KAAK,EACL,MAAMC,kBACR,CAAC,CAAC;;AAEF;;AAUO,MAAMC,GAAG,GAAAC,OAAA,CAAAD,GAAA,gBAAG,IAAAE,iBAAU,EAC3B,SAASF,GAAGA,CAACG,KAAK,EAAEC,GAAG,EAAE;EACvB,oBACE,IAAAb,WAAA,CAAAc,GAAA,EAACV,WAAW;IAAA,GACNQ,KAAK;IACT;IACA;IACAG,aAAa,EAAEH,KAAK,CAACG,aAAa,IAAI,CAAC,CAAE;IACzCC,wBAAwB,EACtBJ,KAAK,CAACI,wBAAwB,IAAI;MAChCC,OAAO,EAAE,IAAI;MACbC,sBAAsB,EAAE,GAAG;MAC3BC,QAAQ,EAAE;IACZ;IAEF;IAAA;IACAC,wBAAwB,EACtBR,KAAK,CAACQ,wBAAwB,GAC1B,IAAAC,iCAAQ,EAACT,KAAK,CAACQ,wBAAwB,CAAC,GACxCE;IAEN;IAAA;IACAC,uBAAuB,EACrBX,KAAK,CAACW,uBAAuB,GACzB,IAAAF,iCAAQ,EAACT,KAAK,CAACW,uBAAuB,CAAC,GACvCD;IAEN;IAAA;IACAE,kBAAkB,EAChBZ,KAAK,CAACY,kBAAkB,GACpB,IAAAH,iCAAQ,EAACT,KAAK,CAACY,kBAAkB,CAAC,GAClCF,SACL;IACDG,SAAS,EACPZ,GAAG,GACC,IAAAQ,iCAAQ,EAAEK,CAAC,IAAK;MAChB,IAAI,OAAOb,GAAG,KAAK,UAAU,EAAE;QAC7BA,GAAG,CAACa,CAAC,CAAC;MACR,CAAC,MAAM;QACLb,GAAG,CAACc,OAAO,GAAGD,CAAC;MACjB;IACF,CAAC,CAAC,GACAJ;EACL,CACF,CAAC;AAEN,CACF,CAAC","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AixDropzone = AixDropzone;
7
+ var _reactNativeNitroModules = require("react-native-nitro-modules");
8
+ var _AixDropzoneConfig = _interopRequireDefault(require("../nitrogen/generated/shared/json/AixDropzoneConfig.json"));
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ const AixDropzoneInternal = (0, _reactNativeNitroModules.getHostComponent)('AixDropzone', () => _AixDropzoneConfig.default);
12
+ function AixDropzone(props) {
13
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(AixDropzoneInternal, {
14
+ ...props,
15
+ onDrop: props.onDrop ? (0, _reactNativeNitroModules.callback)(props.onDrop) : undefined,
16
+ children: props.children
17
+ });
18
+ }
19
+ //# sourceMappingURL=dropzone.ios.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNativeNitroModules","require","_AixDropzoneConfig","_interopRequireDefault","_jsxRuntime","e","__esModule","default","AixDropzoneInternal","getHostComponent","AixDropzoneConfig","AixDropzone","props","jsx","onDrop","callback","undefined","children"],"sourceRoot":"../../src","sources":["dropzone.ios.tsx"],"mappings":";;;;;;AAAA,IAAAA,wBAAA,GAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAwF,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAE,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAIxF,MAAMG,mBAAmB,GAAG,IAAAC,yCAAgB,EAC1C,aAAa,EACb,MAAMC,0BACR,CAAC;AASM,SAASC,WAAWA,CAACC,KAAgC,EAAE;EAC5D,oBACE,IAAAR,WAAA,CAAAS,GAAA,EAACL,mBAAmB;IAAA,GACdI,KAAK;IACTE,MAAM,EAAEF,KAAK,CAACE,MAAM,GAAG,IAAAC,iCAAQ,EAACH,KAAK,CAACE,MAAM,CAAC,GAAGE,SAAU;IAAAC,QAAA,EAEzDL,KAAK,CAACK;EAAQ,CACI,CAAC;AAE1B","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AixDropzone = AixDropzone;
7
+ var _jsxRuntime = require("react/jsx-runtime");
8
+ function AixDropzone(props) {
9
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
10
+ children: props.children
11
+ });
12
+ }
13
+ //# sourceMappingURL=dropzone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AixDropzone","props","_jsxRuntime","jsx","Fragment","children"],"sourceRoot":"../../src","sources":["dropzone.tsx"],"mappings":";;;;;;;AASO,SAASA,WAAWA,CAACC,KAAgC,EAAE;EAC5D,oBAAO,IAAAC,WAAA,CAAAC,GAAA,EAAAD,WAAA,CAAAE,QAAA;IAAAC,QAAA,EAAGJ,KAAK,CAACI;EAAQ,CAAG,CAAC;AAC9B","ignoreList":[]}
@@ -8,6 +8,8 @@ var _exportNames = {
8
8
  useAixRef: true,
9
9
  Aix: true,
10
10
  AixFooter: true,
11
+ AixInputWrapper: true,
12
+ AixDropzone: true,
11
13
  useContentInsetHandler: true
12
14
  };
13
15
  Object.defineProperty(exports, "Aix", {
@@ -17,12 +19,24 @@ Object.defineProperty(exports, "Aix", {
17
19
  }
18
20
  });
19
21
  exports.AixCell = void 0;
22
+ Object.defineProperty(exports, "AixDropzone", {
23
+ enumerable: true,
24
+ get: function () {
25
+ return _dropzone.AixDropzone;
26
+ }
27
+ });
20
28
  Object.defineProperty(exports, "AixFooter", {
21
29
  enumerable: true,
22
30
  get: function () {
23
31
  return _footer.AixFooter;
24
32
  }
25
33
  });
34
+ Object.defineProperty(exports, "AixInputWrapper", {
35
+ enumerable: true,
36
+ get: function () {
37
+ return _inputWrapper.AixInputWrapper;
38
+ }
39
+ });
26
40
  exports.useAixRef = useAixRef;
27
41
  Object.defineProperty(exports, "useContentInsetHandler", {
28
42
  enumerable: true,
@@ -47,6 +61,8 @@ Object.keys(_fadeIn).forEach(function (key) {
47
61
  });
48
62
  var _aix = require("./aix");
49
63
  var _footer = require("./footer");
64
+ var _inputWrapper = require("./input-wrapper");
65
+ var _dropzone = require("./dropzone");
50
66
  var _useContentInsetHandler = require("./hooks/useContentInsetHandler");
51
67
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
52
68
  const AixCell = exports.AixCell = (0, _reactNativeNitroModules.getHostComponent)('AixCellView', () => _AixCellViewConfig.default);
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNativeNitroModules","require","_AixCellViewConfig","_interopRequireDefault","_react","_fadeIn","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_aix","_footer","_useContentInsetHandler","e","__esModule","default","AixCell","getHostComponent","AixCellViewConfig","useAixRef","useRef"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,wBAAA,GAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,MAAA,GAAAH,OAAA;AAEA,IAAAI,OAAA,GAAAJ,OAAA;AAAAK,MAAA,CAAAC,IAAA,CAAAF,OAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,OAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,OAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AAEA,IAAAS,IAAA,GAAAjB,OAAA;AACA,IAAAkB,OAAA,GAAAlB,OAAA;AACA,IAAAmB,uBAAA,GAAAnB,OAAA;AAAuE,SAAAE,uBAAAkB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAGhE,MAAMG,OAAO,GAAAV,OAAA,CAAAU,OAAA,GAAG,IAAAC,yCAAgB,EACrC,aAAa,EACb,MAAMC,0BACR,CAAC;AAIM,SAASC,SAASA,CAAA,EAAG;EAC1B,OAAO,IAAAC,aAAM,EAAgB,IAAI,CAAC;AACpC","ignoreList":[]}
1
+ {"version":3,"names":["_reactNativeNitroModules","require","_AixCellViewConfig","_interopRequireDefault","_react","_fadeIn","Object","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames","exports","defineProperty","enumerable","get","_aix","_footer","_inputWrapper","_dropzone","_useContentInsetHandler","e","__esModule","default","AixCell","getHostComponent","AixCellViewConfig","useAixRef","useRef"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,wBAAA,GAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,MAAA,GAAAH,OAAA;AAEA,IAAAI,OAAA,GAAAJ,OAAA;AAAAK,MAAA,CAAAC,IAAA,CAAAF,OAAA,EAAAG,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAK,OAAA,IAAAA,OAAA,CAAAL,GAAA,MAAAJ,OAAA,CAAAI,GAAA;EAAAH,MAAA,CAAAS,cAAA,CAAAD,OAAA,EAAAL,GAAA;IAAAO,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAZ,OAAA,CAAAI,GAAA;IAAA;EAAA;AAAA;AAEA,IAAAS,IAAA,GAAAjB,OAAA;AACA,IAAAkB,OAAA,GAAAlB,OAAA;AACA,IAAAmB,aAAA,GAAAnB,OAAA;AACA,IAAAoB,SAAA,GAAApB,OAAA;AAEA,IAAAqB,uBAAA,GAAArB,OAAA;AAAuE,SAAAE,uBAAAoB,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAGhE,MAAMG,OAAO,GAAAZ,OAAA,CAAAY,OAAA,GAAG,IAAAC,yCAAgB,EACrC,aAAa,EACb,MAAMC,0BACR,CAAC;AAIM,SAASC,SAASA,CAAA,EAAG;EAC1B,OAAO,IAAAC,aAAM,EAAgB,IAAI,CAAC;AACpC","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AixInputWrapper = AixInputWrapper;
7
+ var _reactNativeNitroModules = require("react-native-nitro-modules");
8
+ var _AixInputWrapperConfig = _interopRequireDefault(require("../nitrogen/generated/shared/json/AixInputWrapperConfig.json"));
9
+ var _jsxRuntime = require("react/jsx-runtime");
10
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
+ const AixInputWrapperInternal = (0, _reactNativeNitroModules.getHostComponent)('AixInputWrapper', () => _AixInputWrapperConfig.default);
12
+ function AixInputWrapper(props) {
13
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(AixInputWrapperInternal, {
14
+ ...props,
15
+ onPaste: props.onPaste ? (0, _reactNativeNitroModules.callback)(props.onPaste) : undefined,
16
+ children: props.children
17
+ });
18
+ }
19
+ //# sourceMappingURL=input-wrapper.ios.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNativeNitroModules","require","_AixInputWrapperConfig","_interopRequireDefault","_jsxRuntime","e","__esModule","default","AixInputWrapperInternal","getHostComponent","AixInputWrapperConfig","AixInputWrapper","props","jsx","onPaste","callback","undefined","children"],"sourceRoot":"../../src","sources":["input-wrapper.ios.tsx"],"mappings":";;;;;;AAAA,IAAAA,wBAAA,GAAAC,OAAA;AACA,IAAAC,sBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAgG,IAAAG,WAAA,GAAAH,OAAA;AAAA,SAAAE,uBAAAE,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAOhG,MAAMG,uBAAuB,GAAG,IAAAC,yCAAgB,EAC9C,iBAAiB,EACjB,MAAMC,8BACR,CAAC;AASM,SAASC,eAAeA,CAACC,KAAoC,EAAE;EACpE,oBACE,IAAAR,WAAA,CAAAS,GAAA,EAACL,uBAAuB;IAAA,GAClBI,KAAK;IACTE,OAAO,EAAEF,KAAK,CAACE,OAAO,GAAG,IAAAC,iCAAQ,EAACH,KAAK,CAACE,OAAO,CAAC,GAAGE,SAAU;IAAAC,QAAA,EAE5DL,KAAK,CAACK;EAAQ,CACQ,CAAC;AAE9B","ignoreList":[]}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AixInputWrapper = AixInputWrapper;
7
+ var _jsxRuntime = require("react/jsx-runtime");
8
+ function AixInputWrapper(props) {
9
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
10
+ children: props.children
11
+ });
12
+ }
13
+ //# sourceMappingURL=input-wrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AixInputWrapper","props","_jsxRuntime","jsx","Fragment","children"],"sourceRoot":"../../src","sources":["input-wrapper.tsx"],"mappings":";;;;;;;AAcO,SAASA,eAAeA,CAACC,KAAoC,EAAE;EACpE,oBAAO,IAAAC,WAAA,CAAAC,GAAA,EAAAD,WAAA,CAAAE,QAAA;IAAAC,QAAA,EAAGJ,KAAK,CAACI;EAAQ,CAAG,CAAC;AAC9B","ignoreList":[]}
package/lib/module/aix.js CHANGED
@@ -12,6 +12,9 @@ const AixInternal = Animated.createAnimatedComponent(getHostComponent('Aix', ()
12
12
  export const Aix = /*#__PURE__*/forwardRef(function Aix(props, ref) {
13
13
  return /*#__PURE__*/_jsx(AixInternal, {
14
14
  ...props,
15
+ // Send -1 as sentinel when undefined to avoid sending null to native,
16
+ // which crashes the Nitro bridge ("Value is null, expected a number").
17
+ scrollToIndex: props.scrollToIndex ?? -1,
15
18
  scrollOnFooterSizeUpdate: props.scrollOnFooterSizeUpdate ?? {
16
19
  enabled: true,
17
20
  scrolledToEndThreshold: 100,
@@ -22,7 +25,10 @@ export const Aix = /*#__PURE__*/forwardRef(function Aix(props, ref) {
22
25
  onWillApplyContentInsets: props.onWillApplyContentInsets ? callback(props.onWillApplyContentInsets) : undefined
23
26
  // Wrap onScrolledNearEndChange with callback() if provided
24
27
  ,
25
- onScrolledNearEndChange: props.onScrolledNearEndChange ? callback(props.onScrolledNearEndChange) : undefined,
28
+ onScrolledNearEndChange: props.onScrolledNearEndChange ? callback(props.onScrolledNearEndChange) : undefined
29
+ // Wrap onDidScrollToIndex with callback() if provided
30
+ ,
31
+ onDidScrollToIndex: props.onDidScrollToIndex ? callback(props.onDidScrollToIndex) : undefined,
26
32
  hybridRef: ref ? callback(r => {
27
33
  if (typeof ref === 'function') {
28
34
  ref(r);
@@ -1 +1 @@
1
- {"version":3,"names":["callback","getHostComponent","AixConfig","forwardRef","Animated","jsx","_jsx","AixInternal","createAnimatedComponent","Aix","props","ref","scrollOnFooterSizeUpdate","enabled","scrolledToEndThreshold","animated","onWillApplyContentInsets","undefined","onScrolledNearEndChange","hybridRef","r","current"],"sourceRoot":"../../src","sources":["aix.tsx"],"mappings":";;AAAA,SACEA,QAAQ,EACRC,gBAAgB,QAEX,4BAA4B;AACnC,OAAOC,SAAS,MAAM,kDAAkD;AAExE,SAASC,UAAU,QAA6B,OAAO;AACvD,OAAOC,QAAQ,MAAM,yBAAyB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAI9C,MAAMC,WAAW,GAAGH,QAAQ,CAACI,uBAAuB,CAACP,gBAAgB,CACnE,KAAK,EACL,MAAMC,SACR,CAAC,CAAC;;AAEF;;AASA,OAAO,MAAMO,GAAG,gBAAGN,UAAU,CAC3B,SAASM,GAAGA,CAACC,KAAK,EAAEC,GAAG,EAAE;EACvB,oBACEL,IAAA,CAACC,WAAW;IAAA,GACNG,KAAK;IACTE,wBAAwB,EACtBF,KAAK,CAACE,wBAAwB,IAAI;MAChCC,OAAO,EAAE,IAAI;MACbC,sBAAsB,EAAE,GAAG;MAC3BC,QAAQ,EAAE;IACZ;IAEF;IAAA;IACAC,wBAAwB,EACtBN,KAAK,CAACM,wBAAwB,GAC1BhB,QAAQ,CAACU,KAAK,CAACM,wBAAwB,CAAC,GACxCC;IAEN;IAAA;IACAC,uBAAuB,EACrBR,KAAK,CAACQ,uBAAuB,GACzBlB,QAAQ,CAACU,KAAK,CAACQ,uBAAuB,CAAC,GACvCD,SACL;IACDE,SAAS,EACPR,GAAG,GACCX,QAAQ,CAAEoB,CAAC,IAAK;MAChB,IAAI,OAAOT,GAAG,KAAK,UAAU,EAAE;QAC7BA,GAAG,CAACS,CAAC,CAAC;MACR,CAAC,MAAM;QACLT,GAAG,CAACU,OAAO,GAAGD,CAAC;MACjB;IACF,CAAC,CAAC,GACAH;EACL,CACF,CAAC;AAEN,CACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["callback","getHostComponent","AixConfig","forwardRef","Animated","jsx","_jsx","AixInternal","createAnimatedComponent","Aix","props","ref","scrollToIndex","scrollOnFooterSizeUpdate","enabled","scrolledToEndThreshold","animated","onWillApplyContentInsets","undefined","onScrolledNearEndChange","onDidScrollToIndex","hybridRef","r","current"],"sourceRoot":"../../src","sources":["aix.tsx"],"mappings":";;AAAA,SACEA,QAAQ,EACRC,gBAAgB,QAEX,4BAA4B;AACnC,OAAOC,SAAS,MAAM,kDAAkD;AAExE,SAASC,UAAU,QAA6B,OAAO;AACvD,OAAOC,QAAQ,MAAM,yBAAyB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAI9C,MAAMC,WAAW,GAAGH,QAAQ,CAACI,uBAAuB,CAACP,gBAAgB,CACnE,KAAK,EACL,MAAMC,SACR,CAAC,CAAC;;AAEF;;AAUA,OAAO,MAAMO,GAAG,gBAAGN,UAAU,CAC3B,SAASM,GAAGA,CAACC,KAAK,EAAEC,GAAG,EAAE;EACvB,oBACEL,IAAA,CAACC,WAAW;IAAA,GACNG,KAAK;IACT;IACA;IACAE,aAAa,EAAEF,KAAK,CAACE,aAAa,IAAI,CAAC,CAAE;IACzCC,wBAAwB,EACtBH,KAAK,CAACG,wBAAwB,IAAI;MAChCC,OAAO,EAAE,IAAI;MACbC,sBAAsB,EAAE,GAAG;MAC3BC,QAAQ,EAAE;IACZ;IAEF;IAAA;IACAC,wBAAwB,EACtBP,KAAK,CAACO,wBAAwB,GAC1BjB,QAAQ,CAACU,KAAK,CAACO,wBAAwB,CAAC,GACxCC;IAEN;IAAA;IACAC,uBAAuB,EACrBT,KAAK,CAACS,uBAAuB,GACzBnB,QAAQ,CAACU,KAAK,CAACS,uBAAuB,CAAC,GACvCD;IAEN;IAAA;IACAE,kBAAkB,EAChBV,KAAK,CAACU,kBAAkB,GACpBpB,QAAQ,CAACU,KAAK,CAACU,kBAAkB,CAAC,GAClCF,SACL;IACDG,SAAS,EACPV,GAAG,GACCX,QAAQ,CAAEsB,CAAC,IAAK;MAChB,IAAI,OAAOX,GAAG,KAAK,UAAU,EAAE;QAC7BA,GAAG,CAACW,CAAC,CAAC;MACR,CAAC,MAAM;QACLX,GAAG,CAACY,OAAO,GAAGD,CAAC;MACjB;IACF,CAAC,CAAC,GACAJ;EACL,CACF,CAAC;AAEN,CACF,CAAC","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ import { callback, getHostComponent } from 'react-native-nitro-modules';
4
+ import AixDropzoneConfig from '../nitrogen/generated/shared/json/AixDropzoneConfig.json';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ const AixDropzoneInternal = getHostComponent('AixDropzone', () => AixDropzoneConfig);
7
+ export function AixDropzone(props) {
8
+ return /*#__PURE__*/_jsx(AixDropzoneInternal, {
9
+ ...props,
10
+ onDrop: props.onDrop ? callback(props.onDrop) : undefined,
11
+ children: props.children
12
+ });
13
+ }
14
+ //# sourceMappingURL=dropzone.ios.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["callback","getHostComponent","AixDropzoneConfig","jsx","_jsx","AixDropzoneInternal","AixDropzone","props","onDrop","undefined","children"],"sourceRoot":"../../src","sources":["dropzone.ios.tsx"],"mappings":";;AAAA,SAASA,QAAQ,EAAEC,gBAAgB,QAAQ,4BAA4B;AACvE,OAAOC,iBAAiB,MAAM,0DAA0D;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAIxF,MAAMC,mBAAmB,GAAGJ,gBAAgB,CAC1C,aAAa,EACb,MAAMC,iBACR,CAAC;AASD,OAAO,SAASI,WAAWA,CAACC,KAAgC,EAAE;EAC5D,oBACEH,IAAA,CAACC,mBAAmB;IAAA,GACdE,KAAK;IACTC,MAAM,EAAED,KAAK,CAACC,MAAM,GAAGR,QAAQ,CAACO,KAAK,CAACC,MAAM,CAAC,GAAGC,SAAU;IAAAC,QAAA,EAEzDH,KAAK,CAACG;EAAQ,CACI,CAAC;AAE1B","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
4
+ export function AixDropzone(props) {
5
+ return /*#__PURE__*/_jsx(_Fragment, {
6
+ children: props.children
7
+ });
8
+ }
9
+ //# sourceMappingURL=dropzone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AixDropzone","props","_jsx","_Fragment","children"],"sourceRoot":"../../src","sources":["dropzone.tsx"],"mappings":";;;AASA,OAAO,SAASA,WAAWA,CAACC,KAAgC,EAAE;EAC5D,oBAAOC,IAAA,CAAAC,SAAA;IAAAC,QAAA,EAAGH,KAAK,CAACG;EAAQ,CAAG,CAAC;AAC9B","ignoreList":[]}
@@ -6,6 +6,8 @@ import { useRef } from 'react';
6
6
  export * from './fade-in';
7
7
  export { Aix } from './aix';
8
8
  export { AixFooter } from './footer';
9
+ export { AixInputWrapper } from './input-wrapper';
10
+ export { AixDropzone } from './dropzone';
9
11
  export { useContentInsetHandler } from './hooks/useContentInsetHandler';
10
12
  export const AixCell = getHostComponent('AixCellView', () => AixCellViewConfig);
11
13
  export function useAixRef() {
@@ -1 +1 @@
1
- {"version":3,"names":["getHostComponent","AixCellViewConfig","useRef","Aix","AixFooter","useContentInsetHandler","AixCell","useAixRef"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SAASA,gBAAgB,QAAwB,4BAA4B;AAC7E,OAAOC,iBAAiB,MAAM,0DAA0D;AAExF,SAASC,MAAM,QAAQ,OAAO;AAE9B,cAAc,WAAW;AAEzB,SAASC,GAAG,QAAqB,OAAO;AACxC,SAASC,SAAS,QAAQ,UAAU;AACpC,SAASC,sBAAsB,QAAQ,gCAAgC;AAGvE,OAAO,MAAMC,OAAO,GAAGN,gBAAgB,CACrC,aAAa,EACb,MAAMC,iBACR,CAAC;AAID,OAAO,SAASM,SAASA,CAAA,EAAG;EAC1B,OAAOL,MAAM,CAAgB,IAAI,CAAC;AACpC","ignoreList":[]}
1
+ {"version":3,"names":["getHostComponent","AixCellViewConfig","useRef","Aix","AixFooter","AixInputWrapper","AixDropzone","useContentInsetHandler","AixCell","useAixRef"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SAASA,gBAAgB,QAAwB,4BAA4B;AAC7E,OAAOC,iBAAiB,MAAM,0DAA0D;AAExF,SAASC,MAAM,QAAQ,OAAO;AAE9B,cAAc,WAAW;AAEzB,SAASC,GAAG,QAAqB,OAAO;AACxC,SAASC,SAAS,QAAQ,UAAU;AACpC,SAASC,eAAe,QAAQ,iBAAiB;AACjD,SAASC,WAAW,QAAQ,YAAY;AAExC,SAASC,sBAAsB,QAAQ,gCAAgC;AAGvE,OAAO,MAAMC,OAAO,GAAGR,gBAAgB,CACrC,aAAa,EACb,MAAMC,iBACR,CAAC;AAID,OAAO,SAASQ,SAASA,CAAA,EAAG;EAC1B,OAAOP,MAAM,CAAgB,IAAI,CAAC;AACpC","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ import { callback, getHostComponent } from 'react-native-nitro-modules';
4
+ import AixInputWrapperConfig from '../nitrogen/generated/shared/json/AixInputWrapperConfig.json';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ const AixInputWrapperInternal = getHostComponent('AixInputWrapper', () => AixInputWrapperConfig);
7
+ export function AixInputWrapper(props) {
8
+ return /*#__PURE__*/_jsx(AixInputWrapperInternal, {
9
+ ...props,
10
+ onPaste: props.onPaste ? callback(props.onPaste) : undefined,
11
+ children: props.children
12
+ });
13
+ }
14
+ //# sourceMappingURL=input-wrapper.ios.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["callback","getHostComponent","AixInputWrapperConfig","jsx","_jsx","AixInputWrapperInternal","AixInputWrapper","props","onPaste","undefined","children"],"sourceRoot":"../../src","sources":["input-wrapper.ios.tsx"],"mappings":";;AAAA,SAASA,QAAQ,EAAEC,gBAAgB,QAAQ,4BAA4B;AACvE,OAAOC,qBAAqB,MAAM,8DAA8D;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAOhG,MAAMC,uBAAuB,GAAGJ,gBAAgB,CAC9C,iBAAiB,EACjB,MAAMC,qBACR,CAAC;AASD,OAAO,SAASI,eAAeA,CAACC,KAAoC,EAAE;EACpE,oBACEH,IAAA,CAACC,uBAAuB;IAAA,GAClBE,KAAK;IACTC,OAAO,EAAED,KAAK,CAACC,OAAO,GAAGR,QAAQ,CAACO,KAAK,CAACC,OAAO,CAAC,GAAGC,SAAU;IAAAC,QAAA,EAE5DH,KAAK,CAACG;EAAQ,CACQ,CAAC;AAE9B","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
4
+ export function AixInputWrapper(props) {
5
+ return /*#__PURE__*/_jsx(_Fragment, {
6
+ children: props.children
7
+ });
8
+ }
9
+ //# sourceMappingURL=input-wrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["AixInputWrapper","props","_jsx","_Fragment","children"],"sourceRoot":"../../src","sources":["input-wrapper.tsx"],"mappings":";;;AAcA,OAAO,SAASA,eAAeA,CAACC,KAAoC,EAAE;EACpE,oBAAOC,IAAA,CAAAC,SAAA;IAAAC,QAAA,EAAGH,KAAK,CAACG;EAAQ,CAAG,CAAC;AAC9B","ignoreList":[]}
@@ -13,6 +13,9 @@ export declare const Aix: import("react").ForwardRefExoticComponent<Omit<{
13
13
  applyContentInsetDelay?: number | import("react-native-reanimated").SharedValue<number | undefined> | undefined;
14
14
  onWillApplyContentInsets?: import("react-native-nitro-modules").NitroViewWrappedCallback<((insets: AixContentInsets) => void) | undefined> | import("react-native-reanimated").SharedValue<import("react-native-nitro-modules").NitroViewWrappedCallback<((insets: AixContentInsets) => void) | undefined> | undefined> | undefined;
15
15
  onScrolledNearEndChange?: import("react-native-nitro-modules").NitroViewWrappedCallback<((isNearEnd: boolean) => void) | undefined> | import("react-native-reanimated").SharedValue<import("react-native-nitro-modules").NitroViewWrappedCallback<((isNearEnd: boolean) => void) | undefined> | undefined> | undefined;
16
+ scrollToIndex?: number | import("react-native-reanimated").SharedValue<number | undefined> | undefined;
17
+ onDidScrollToIndex?: import("react-native-nitro-modules").NitroViewWrappedCallback<(() => void) | undefined> | import("react-native-reanimated").SharedValue<import("react-native-nitro-modules").NitroViewWrappedCallback<(() => void) | undefined> | undefined> | undefined;
18
+ debug?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
16
19
  hybridRef?: import("react-native-nitro-modules").NitroViewWrappedCallback<((ref: import("react-native-nitro-modules").HybridView<AixProps, AixMethods>) => void) | undefined> | import("react-native-reanimated").SharedValue<import("react-native-nitro-modules").NitroViewWrappedCallback<((ref: import("react-native-nitro-modules").HybridView<AixProps, AixMethods>) => void) | undefined> | undefined> | undefined;
17
20
  children?: import("react").ReactNode | import("react-native-reanimated").SharedValue<import("react").ReactNode>;
18
21
  hitSlop?: number | import("react-native").Insets | import("react-native-reanimated").SharedValue<number | import("react-native").Insets | null | undefined> | null | undefined;
@@ -131,6 +134,9 @@ export declare const Aix: import("react").ForwardRefExoticComponent<Omit<{
131
134
  applyContentInsetDelay?: number | import("react-native-reanimated").SharedValue<number | undefined> | undefined;
132
135
  onWillApplyContentInsets?: import("react-native-nitro-modules").NitroViewWrappedCallback<((insets: AixContentInsets) => void) | undefined> | import("react-native-reanimated").SharedValue<import("react-native-nitro-modules").NitroViewWrappedCallback<((insets: AixContentInsets) => void) | undefined> | undefined> | undefined;
133
136
  onScrolledNearEndChange?: import("react-native-nitro-modules").NitroViewWrappedCallback<((isNearEnd: boolean) => void) | undefined> | import("react-native-reanimated").SharedValue<import("react-native-nitro-modules").NitroViewWrappedCallback<((isNearEnd: boolean) => void) | undefined> | undefined> | undefined;
137
+ scrollToIndex?: number | import("react-native-reanimated").SharedValue<number | undefined> | undefined;
138
+ onDidScrollToIndex?: import("react-native-nitro-modules").NitroViewWrappedCallback<(() => void) | undefined> | import("react-native-reanimated").SharedValue<import("react-native-nitro-modules").NitroViewWrappedCallback<(() => void) | undefined> | undefined> | undefined;
139
+ debug?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
134
140
  hybridRef?: import("react-native-nitro-modules").NitroViewWrappedCallback<((ref: import("react-native-nitro-modules").HybridView<AixProps, AixMethods>) => void) | undefined> | import("react-native-reanimated").SharedValue<import("react-native-nitro-modules").NitroViewWrappedCallback<((ref: import("react-native-nitro-modules").HybridView<AixProps, AixMethods>) => void) | undefined> | undefined> | undefined;
135
141
  children?: import("react").ReactNode | import("react-native-reanimated").SharedValue<import("react").ReactNode>;
136
142
  hitSlop?: number | import("react-native").Insets | import("react-native-reanimated").SharedValue<number | import("react-native").Insets | null | undefined> | null | undefined;
@@ -237,8 +243,9 @@ export declare const Aix: import("react").ForwardRefExoticComponent<Omit<{
237
243
  sharedTransitionTag?: string;
238
244
  sharedTransitionStyle?: import("react-native-reanimated").SharedTransition;
239
245
  }> | undefined;
240
- }, "onWillApplyContentInsets" | "onScrolledNearEndChange" | "hybridRef"> & {
246
+ }, "onWillApplyContentInsets" | "onScrolledNearEndChange" | "onDidScrollToIndex" | "hybridRef"> & {
241
247
  onWillApplyContentInsets?: (insets: AixContentInsets) => void;
242
248
  onScrolledNearEndChange?: (isNearEnd: boolean) => void;
249
+ onDidScrollToIndex?: () => void;
243
250
  } & import("react").RefAttributes<AixRef>>;
244
251
  //# sourceMappingURL=aix.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"aix.d.ts","sourceRoot":"","sources":["../../../src/aix.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,SAAS,EACf,MAAM,4BAA4B,CAAA;AAEnC,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAI/E,MAAM,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;AAgBpD,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BAJa,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI;8BACnC,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI;0CAyCvD,CAAA"}
1
+ {"version":3,"file":"aix.d.ts","sourceRoot":"","sources":["../../../src/aix.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,SAAS,EACf,MAAM,4BAA4B,CAAA;AAEnC,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAI/E,MAAM,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;AAiBpD,eAAO,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BALa,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI;8BACnC,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI;yBACjC,MAAM,IAAI;0CAkDhC,CAAA"}
@@ -0,0 +1,9 @@
1
+ import type { PropsWithChildren } from 'react';
2
+ import type { AixInputWrapperOnPasteEvent } from './views/aix.nitro';
3
+ import type { StyleProp, ViewStyle } from 'react-native';
4
+ export type AixDropzoneComponentProps = PropsWithChildren<{
5
+ onDrop?: (events: AixInputWrapperOnPasteEvent[]) => void;
6
+ style?: StyleProp<ViewStyle>;
7
+ }>;
8
+ export declare function AixDropzone(props: AixDropzoneComponentProps): import("react/jsx-runtime").JSX.Element;
9
+ //# sourceMappingURL=dropzone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropzone.d.ts","sourceRoot":"","sources":["../../../src/dropzone.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAC9C,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAA;AACpE,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExD,MAAM,MAAM,yBAAyB,GAAG,iBAAiB,CAAC;IACxD,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,2BAA2B,EAAE,KAAK,IAAI,CAAA;IACxD,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;CAC7B,CAAC,CAAA;AAEF,wBAAgB,WAAW,CAAC,KAAK,EAAE,yBAAyB,2CAE3D"}
@@ -0,0 +1,9 @@
1
+ import type { AixDropzoneProps, AixInputWrapperOnPasteEvent } from './views/aix.nitro';
2
+ import type { ComponentProps } from 'react';
3
+ declare const AixDropzoneInternal: import("react-native-nitro-modules").ReactNativeView<AixDropzoneProps, {}>;
4
+ type AixDropzoneComponentProps = Omit<ComponentProps<typeof AixDropzoneInternal>, 'onDrop' | 'hybridRef'> & {
5
+ onDrop?: (events: AixInputWrapperOnPasteEvent[]) => void;
6
+ };
7
+ export declare function AixDropzone(props: AixDropzoneComponentProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
9
+ //# sourceMappingURL=dropzone.ios.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dropzone.ios.d.ts","sourceRoot":"","sources":["../../../src/dropzone.ios.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAA;AACtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3C,QAAA,MAAM,mBAAmB,4EAGxB,CAAA;AAED,KAAK,yBAAyB,GAAG,IAAI,CACnC,cAAc,CAAC,OAAO,mBAAmB,CAAC,EAC1C,QAAQ,GAAG,WAAW,CACvB,GAAG;IACF,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,2BAA2B,EAAE,KAAK,IAAI,CAAA;CACzD,CAAA;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,yBAAyB,2CAS3D"}
@@ -4,6 +4,9 @@ import type { AixRef } from './aix';
4
4
  export * from './fade-in';
5
5
  export { Aix, type AixRef } from './aix';
6
6
  export { AixFooter } from './footer';
7
+ export { AixInputWrapper } from './input-wrapper';
8
+ export { AixDropzone } from './dropzone';
9
+ export type { AixInputWrapperOnPasteEvent } from './views/aix.nitro';
7
10
  export { useContentInsetHandler } from './hooks/useContentInsetHandler';
8
11
  export type { AixContentInsets } from './views/aix.nitro';
9
12
  export declare const AixCell: import("react-native-nitro-modules").ReactNativeView<AixCellViewProps, {}>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAE7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AACnC,cAAc,WAAW,CAAA;AAEzB,OAAO,EAAE,GAAG,EAAE,KAAK,MAAM,EAAE,MAAM,OAAO,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACpC,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AACvE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEzD,eAAO,MAAM,OAAO,4EAGnB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,SAAS,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAA;AAE5D,wBAAgB,SAAS,6CAExB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,SAAS,EAAE,MAAM,4BAA4B,CAAA;AAE7E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AACnC,cAAc,WAAW,CAAA;AAEzB,OAAO,EAAE,GAAG,EAAE,KAAK,MAAM,EAAE,MAAM,OAAO,CAAA;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAA;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,YAAY,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAA;AACpE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAA;AACvE,YAAY,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEzD,eAAO,MAAM,OAAO,4EAGnB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,SAAS,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAA;AAE5D,wBAAgB,SAAS,6CAExB"}
@@ -0,0 +1,9 @@
1
+ import type { PropsWithChildren } from 'react';
2
+ import type { ViewProps } from 'react-native';
3
+ import type { AixInputWrapperOnPasteEvent, AixInputWrapperProps } from './views/aix.nitro';
4
+ type AixInputWrapperComponentProps = PropsWithChildren<ViewProps & Omit<AixInputWrapperProps, 'onPaste'> & {
5
+ onPaste?: (events: AixInputWrapperOnPasteEvent[]) => void;
6
+ }>;
7
+ export declare function AixInputWrapper(props: AixInputWrapperComponentProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
9
+ //# sourceMappingURL=input-wrapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-wrapper.d.ts","sourceRoot":"","sources":["../../../src/input-wrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAC7C,OAAO,KAAK,EACV,2BAA2B,EAC3B,oBAAoB,EACrB,MAAM,mBAAmB,CAAA;AAE1B,KAAK,6BAA6B,GAAG,iBAAiB,CACpD,SAAS,GACP,IAAI,CAAC,oBAAoB,EAAE,SAAS,CAAC,GAAG;IACtC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,2BAA2B,EAAE,KAAK,IAAI,CAAA;CAC1D,CACJ,CAAA;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,6BAA6B,2CAEnE"}
@@ -0,0 +1,9 @@
1
+ import type { AixInputWrapperProps, AixInputWrapperOnPasteEvent } from './views/aix.nitro';
2
+ import type { ComponentProps } from 'react';
3
+ declare const AixInputWrapperInternal: import("react-native-nitro-modules").ReactNativeView<AixInputWrapperProps, {}>;
4
+ type AixInputWrapperComponentProps = Omit<ComponentProps<typeof AixInputWrapperInternal>, 'onPaste' | 'hybridRef'> & {
5
+ onPaste?: (events: AixInputWrapperOnPasteEvent[]) => void;
6
+ };
7
+ export declare function AixInputWrapper(props: AixInputWrapperComponentProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
9
+ //# sourceMappingURL=input-wrapper.ios.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"input-wrapper.ios.d.ts","sourceRoot":"","sources":["../../../src/input-wrapper.ios.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oBAAoB,EACpB,2BAA2B,EAC5B,MAAM,mBAAmB,CAAA;AAC1B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAE3C,QAAA,MAAM,uBAAuB,gFAG5B,CAAA;AAED,KAAK,6BAA6B,GAAG,IAAI,CACvC,cAAc,CAAC,OAAO,uBAAuB,CAAC,EAC9C,SAAS,GAAG,WAAW,CACxB,GAAG;IACF,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,2BAA2B,EAAE,KAAK,IAAI,CAAA;CAC1D,CAAA;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,6BAA6B,2CASnE"}