react-native-a11y-order 1.0.0-rc → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/README.md +9 -2
  2. package/android/src/main/java/com/a11yorder/core/A11yManagedFocusView.java +29 -0
  3. package/android/src/main/java/com/a11yorder/core/A11yViewOrder.java +1 -1
  4. package/android/src/main/java/com/a11yorder/modules/A11yAnnounceModule.java +20 -7
  5. package/android/src/main/java/com/a11yorder/views/A11yIndexView/A11yIndexViewManager.java +0 -6
  6. package/android/src/oldarch/A11yAnnounceModuleSpec.java +8 -1
  7. package/android/src/oldarch/A11yIndexViewManagerSpec.java +0 -1
  8. package/ios/helpers/RNAOSpeechAttributes.h +35 -0
  9. package/ios/helpers/RNAOSpeechAttributes.mm +64 -0
  10. package/ios/modules/RNAOA11yAnnounceModule.h +13 -9
  11. package/ios/modules/RNAOA11yAnnounceModule.mm +220 -14
  12. package/ios/services/RNAOA11yAnnounceService/RNAOA11yAnnounceService.h +11 -1
  13. package/ios/services/RNAOA11yAnnounceService/RNAOA11yAnnounceService.mm +55 -51
  14. package/ios/views/RNAOA11yIndexView/RNAOA11yIndexView.mm +0 -4
  15. package/ios/views/RNAOA11yIndexView/RNAOA11yIndexViewManager.mm +5 -5
  16. package/ios/views/RNAOA11yPaneTitleView/RNAOA11yPaneTitleView.mm +12 -2
  17. package/ios/views/base/{RNAOA11yAutoFocusView.h → RNAOA11yManagedFocusView.h} +5 -7
  18. package/ios/views/base/{RNAOA11yAutoFocusView.mm → RNAOA11yManagedFocusView.mm} +2 -19
  19. package/ios/views/base/RNAOA11yViewOrder.h +3 -3
  20. package/lib/commonjs/components/A11yCard/A11yCard.ios.js +8 -1
  21. package/lib/commonjs/components/A11yCard/A11yCard.ios.js.map +1 -1
  22. package/lib/commonjs/components/A11yIndex/A11yIndex.js +3 -2
  23. package/lib/commonjs/components/A11yIndex/A11yIndex.js.map +1 -1
  24. package/lib/commonjs/index.js +22 -4
  25. package/lib/commonjs/index.js.map +1 -1
  26. package/lib/commonjs/index.web.js +4 -4
  27. package/lib/commonjs/modules/A11yAnnounceModule.android.js +37 -3
  28. package/lib/commonjs/modules/A11yAnnounceModule.android.js.map +1 -1
  29. package/lib/commonjs/modules/A11yAnnounceModule.js +66 -8
  30. package/lib/commonjs/modules/A11yAnnounceModule.js.map +1 -1
  31. package/lib/commonjs/nativeSpecs/A11yIndexNativeComponent.ts +0 -1
  32. package/lib/commonjs/nativeSpecs/NativeA11yAnnounceModule.js +2 -0
  33. package/lib/commonjs/nativeSpecs/NativeA11yAnnounceModule.js.map +1 -1
  34. package/lib/module/components/A11yCard/A11yCard.ios.js +8 -1
  35. package/lib/module/components/A11yCard/A11yCard.ios.js.map +1 -1
  36. package/lib/module/components/A11yIndex/A11yIndex.js +3 -2
  37. package/lib/module/components/A11yIndex/A11yIndex.js.map +1 -1
  38. package/lib/module/index.js +1 -1
  39. package/lib/module/index.js.map +1 -1
  40. package/lib/module/index.web.js +1 -1
  41. package/lib/module/index.web.js.map +1 -1
  42. package/lib/module/modules/A11yAnnounceModule.android.js +32 -2
  43. package/lib/module/modules/A11yAnnounceModule.android.js.map +1 -1
  44. package/lib/module/modules/A11yAnnounceModule.js +62 -7
  45. package/lib/module/modules/A11yAnnounceModule.js.map +1 -1
  46. package/lib/module/nativeSpecs/A11yIndexNativeComponent.ts +0 -1
  47. package/lib/module/nativeSpecs/NativeA11yAnnounceModule.js +4 -0
  48. package/lib/module/nativeSpecs/NativeA11yAnnounceModule.js.map +1 -1
  49. package/lib/typescript/src/components/A11yCard/A11yCard.ios.d.ts.map +1 -1
  50. package/lib/typescript/src/components/A11yIndex/A11yIndex.d.ts +0 -1
  51. package/lib/typescript/src/components/A11yIndex/A11yIndex.d.ts.map +1 -1
  52. package/lib/typescript/src/components/A11yIndex/A11yIndex.types.d.ts +0 -4
  53. package/lib/typescript/src/components/A11yIndex/A11yIndex.types.d.ts.map +1 -1
  54. package/lib/typescript/src/components/A11yIndex/A11yIndex.web.d.ts +0 -1
  55. package/lib/typescript/src/components/A11yIndex/A11yIndex.web.d.ts.map +1 -1
  56. package/lib/typescript/src/components/A11yView/A11yView.d.ts +0 -1
  57. package/lib/typescript/src/components/A11yView/A11yView.d.ts.map +1 -1
  58. package/lib/typescript/src/index.d.ts +2 -3
  59. package/lib/typescript/src/index.d.ts.map +1 -1
  60. package/lib/typescript/src/index.web.d.ts +1 -2
  61. package/lib/typescript/src/index.web.d.ts.map +1 -1
  62. package/lib/typescript/src/modules/A11yAnnounceModule.android.d.ts +25 -2
  63. package/lib/typescript/src/modules/A11yAnnounceModule.android.d.ts.map +1 -1
  64. package/lib/typescript/src/modules/A11yAnnounceModule.d.ts +112 -4
  65. package/lib/typescript/src/modules/A11yAnnounceModule.d.ts.map +1 -1
  66. package/lib/typescript/src/nativeSpecs/A11yIndexNativeComponent.d.ts +0 -1
  67. package/lib/typescript/src/nativeSpecs/A11yIndexNativeComponent.d.ts.map +1 -1
  68. package/lib/typescript/src/nativeSpecs/NativeA11yAnnounceModule.d.ts +21 -1
  69. package/lib/typescript/src/nativeSpecs/NativeA11yAnnounceModule.d.ts.map +1 -1
  70. package/package.json +1 -1
  71. package/src/components/A11yCard/A11yCard.ios.tsx +8 -1
  72. package/src/components/A11yIndex/A11yIndex.tsx +5 -4
  73. package/src/components/A11yIndex/A11yIndex.types.ts +0 -5
  74. package/src/index.ts +12 -1
  75. package/src/index.web.ts +1 -1
  76. package/src/modules/A11yAnnounceModule.android.ts +18 -2
  77. package/src/modules/A11yAnnounceModule.ts +153 -9
  78. package/src/nativeSpecs/A11yIndexNativeComponent.ts +0 -1
  79. package/src/nativeSpecs/NativeA11yAnnounceModule.ts +31 -1
  80. package/android/src/main/java/com/a11yorder/core/A11yAutoFocusView.java +0 -61
@@ -24,7 +24,6 @@ export interface A11yIndexNativeComponentProps extends ViewProps {
24
24
  orderFocusType?: Int32;
25
25
  shouldGroupAccessibilityChildren?: Int32;
26
26
 
27
- autoFocus?: boolean;
28
27
  descendantFocusChangedEnabled?: boolean;
29
28
 
30
29
  onScreenReaderFocused?: DirectEventHandler<{}>;
@@ -5,5 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _reactNative = require("react-native");
8
+ // Speech options are kept flat here (bridge contract).
9
+ // The JS API groups them under `speech: {}` and flattens before calling native.
8
10
  var _default = exports.default = _reactNative.TurboModuleRegistry.get('A11yAnnounceModule');
9
11
  //# sourceMappingURL=NativeA11yAnnounceModule.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","get"],"sourceRoot":"../../../src","sources":["nativeSpecs/NativeA11yAnnounceModule.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAAmD,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAMpCC,gCAAmB,CAACC,GAAG,CAAO,oBAAoB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","get"],"sourceRoot":"../../../src","sources":["nativeSpecs/NativeA11yAnnounceModule.ts"],"mappings":";;;;;;AACA,IAAAA,YAAA,GAAAC,OAAA;AAEA;AACA;AAAA,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAiCeC,gCAAmB,CAACC,GAAG,CAAO,oBAAoB,CAAC","ignoreList":[]}
@@ -22,6 +22,7 @@ export const A11yCard = ({
22
22
  ...accessibility,
23
23
  accessible: true,
24
24
  pointerEvents: "none",
25
+ collapsable: false,
25
26
  onAccessibilityTap: onPress,
26
27
  style: styles.overlay
27
28
  }), /*#__PURE__*/_jsx(Pressable, {
@@ -38,6 +39,12 @@ const styles = StyleSheet.create({
38
39
  container: {
39
40
  position: 'relative'
40
41
  },
41
- overlay: StyleSheet.absoluteFillObject
42
+ overlay: {
43
+ position: 'absolute',
44
+ top: 0,
45
+ left: 0,
46
+ right: 0,
47
+ bottom: 0
48
+ }
42
49
  });
43
50
  //# sourceMappingURL=A11yCard.ios.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","Pressable","StyleSheet","View","Card","jsx","_jsx","jsxs","_jsxs","A11yCard","containerProps","style","testID","onPress","accessibility","pressableProps","children","styles","container","accessibilityRole","accessible","pointerEvents","onAccessibilityTap","overlay","create","position","absoluteFillObject"],"sourceRoot":"../../../../src","sources":["components/A11yCard/A11yCard.ios.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,SAAS,EAAEC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC1D,OAAOC,IAAI,MAAM,2CAA2C;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAK7D,OAAO,MAAMC,QAAQ,GAAGA,CAAC;EACvBC,cAAc;EACdC,KAAK;EACLC,MAAM;EACNC,OAAO;EACPC,aAAa;EACbC,cAAc;EACdC;AACa,CAAC,KAAK;EACnB,oBACER,KAAA,CAACJ,IAAI;IAAA,GAAKM,cAAc;IAAEC,KAAK,EAAE,CAACM,MAAM,CAACC,SAAS,EAAER,cAAc,EAAEC,KAAK,CAAE;IAAAK,QAAA,gBACzEV,IAAA,CAACH,IAAI;MACHS,MAAM,EAAE,GAAGA,MAAM,UAAW;MAC5BO,iBAAiB,EAAC,QAAQ;MAAA,GACtBL,aAAa;MACjBM,UAAU;MACVC,aAAa,EAAC,MAAM;MACpBC,kBAAkB,EAAET,OAAQ;MAC5BF,KAAK,EAAEM,MAAM,CAACM;IAAQ,CACvB,CAAC,eACFjB,IAAA,CAACL,SAAS;MAAA,GACJc,cAAc;MAClBK,UAAU,EAAE,KAAM;MAClBP,OAAO,EAAEA,OAAQ;MACjBD,MAAM,EAAEA,MAAO;MACfD,KAAK,EAAEA,KAAM;MAAAK,QAAA,EAEZA;IAAQ,CACA,CAAC;EAAA,CACR,CAAC;AAEX,CAAC;AAED,MAAMC,MAAM,GAAGf,UAAU,CAACsB,MAAM,CAAC;EAC/BN,SAAS,EAAE;IAAEO,QAAQ,EAAE;EAAW,CAAC;EACnCF,OAAO,EAAErB,UAAU,CAACwB;AACtB,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","Pressable","StyleSheet","View","Card","jsx","_jsx","jsxs","_jsxs","A11yCard","containerProps","style","testID","onPress","accessibility","pressableProps","children","styles","container","accessibilityRole","accessible","pointerEvents","collapsable","onAccessibilityTap","overlay","create","position","top","left","right","bottom"],"sourceRoot":"../../../../src","sources":["components/A11yCard/A11yCard.ios.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,SAAS,EAAEC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AAC1D,OAAOC,IAAI,MAAM,2CAA2C;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAK7D,OAAO,MAAMC,QAAQ,GAAGA,CAAC;EACvBC,cAAc;EACdC,KAAK;EACLC,MAAM;EACNC,OAAO;EACPC,aAAa;EACbC,cAAc;EACdC;AACa,CAAC,KAAK;EACnB,oBACER,KAAA,CAACJ,IAAI;IAAA,GAAKM,cAAc;IAAEC,KAAK,EAAE,CAACM,MAAM,CAACC,SAAS,EAAER,cAAc,EAAEC,KAAK,CAAE;IAAAK,QAAA,gBACzEV,IAAA,CAACH,IAAI;MACHS,MAAM,EAAE,GAAGA,MAAM,UAAW;MAC5BO,iBAAiB,EAAC,QAAQ;MAAA,GACtBL,aAAa;MACjBM,UAAU;MACVC,aAAa,EAAC,MAAM;MACpBC,WAAW,EAAE,KAAM;MACnBC,kBAAkB,EAAEV,OAAQ;MAC5BF,KAAK,EAAEM,MAAM,CAACO;IAAQ,CACvB,CAAC,eACFlB,IAAA,CAACL,SAAS;MAAA,GACJc,cAAc;MAClBK,UAAU,EAAE,KAAM;MAClBP,OAAO,EAAEA,OAAQ;MACjBD,MAAM,EAAEA,MAAO;MACfD,KAAK,EAAEA,KAAM;MAAAK,QAAA,EAEZA;IAAQ,CACA,CAAC;EAAA,CACR,CAAC;AAEX,CAAC;AAED,MAAMC,MAAM,GAAGf,UAAU,CAACuB,MAAM,CAAC;EAC/BP,SAAS,EAAE;IAAEQ,QAAQ,EAAE;EAAW,CAAC;EACnCF,OAAO,EAAE;IACPE,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE;EACV;AACF,CAAC,CAAC","ignoreList":[]}
@@ -57,11 +57,12 @@ function useOrderProps(index, orderType, importantForAccessibilityProp) {
57
57
  throw new Error('<A11y.Index> element should be used inside of <A11y.Order> container');
58
58
  }
59
59
  const resolvedOrderType = orderType ?? 'default';
60
- const importantForAccessibilityFallback = resolvedOrderType === 'default' ? 'yes' : undefined;
60
+ const isDefaultOrderType = resolvedOrderType === 'default';
61
+ const importantForAccessibility = hasOrderInfo && isDefaultOrderType ? 'yes' : importantForAccessibilityProp;
61
62
  return {
62
63
  orderKey,
63
64
  orderFocusType: hasOrderInfo ? A11yOrderTypeEnum[resolvedOrderType] : undefined,
64
- importantForAccessibility: importantForAccessibilityProp ?? importantForAccessibilityFallback
65
+ importantForAccessibility
65
66
  };
66
67
  }
67
68
  export const A11yIndex = /*#__PURE__*/React.memo(/*#__PURE__*/React.forwardRef(({
@@ -1 +1 @@
1
- {"version":3,"names":["React","useImperativeHandle","useRef","A11ySequenceOrderContext","A11yIndexView","Commands","A11yOrderTypeEnum","A11yContainerTypeEnum","jsx","_jsx","useScreenReaderProps","onScreenReaderFocused","onScreenReaderSubViewFocusChange","onScreenReaderSubViewFocused","onScreenReaderSubViewBlurred","onScreenReaderDescendantFocusChanged","hasHandler","Boolean","onScreenReaderFocusChange","useCallback","event","isFocused","nativeEvent","undefined","descendantFocusChangedEnabled","useFocusRef","ref","localRef","native","current","Proxy","get","_target","prop","focus","useOrderProps","index","orderType","importantForAccessibilityProp","orderKey","useContext","hasOrderInfo","Error","resolvedOrderType","importantForAccessibilityFallback","orderFocusType","importantForAccessibility","A11yIndex","memo","forwardRef","children","a11yUIContainer","shouldGroupAccessibilityChildren","props","viewProps","containerTypeValue","shouldGroupChildrenValue","screenReaderNativeProps","containerType","orderIndex"],"sourceRoot":"../../../../src","sources":["components/A11yIndex/A11yIndex.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useImperativeHandle","useRef","A11ySequenceOrderContext","A11yIndexView","Commands","A11yOrderTypeEnum","A11yContainerTypeEnum","jsx","_jsx","useScreenReaderProps","onScreenReaderFocused","onScreenReaderSubViewFocusChange","onScreenReaderSubViewFocused","onScreenReaderSubViewBlurred","onScreenReaderDescendantFocusChanged","hasHandler","Boolean","onScreenReaderFocusChange","useCallback","event","isFocused","nativeEvent","undefined","descendantFocusChangedEnabled","useFocusRef","ref","localRef","native","current","Proxy","get","_target","prop","focus","useOrderProps","index","orderType","importantForAccessibilityProp","orderKey","useContext","hasOrderInfo","Error","resolvedOrderType","isDefaultOrderType","importantForAccessibility","orderFocusType","A11yIndex","memo","forwardRef","children","a11yUIContainer","shouldGroupAccessibilityChildren","props","viewProps","containerTypeValue","shouldGroupChildrenValue","screenReaderNativeProps","containerType","orderIndex"],"sourceRoot":"../../../../src","sources":["components/A11yIndex/A11yIndex.tsx"],"mappings":"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","ignoreList":[]}
@@ -23,5 +23,5 @@ export const A11y = {
23
23
  FocusTrap: A11yFocusTrap,
24
24
  Card: A11yCard
25
25
  };
26
- export { A11yModule } from './modules/A11yAnnounceModule';
26
+ export { ScreenReader, announce, cancel, cancelAll } from './modules/A11yAnnounceModule';
27
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["A11yIndex","A11yOrder","A11yPaneTitle","A11yScreenChange","A11yView","A11yFocusFrame","A11yFocusTrap","A11yCard","A11yOrderTypeEnum","A11y","Order","Index","View","PaneTitle","ScreenChange","FocusFrame","FocusTrap","Card","A11yModule"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,kCAAkC;AAC5D,SAASC,SAAS,QAAQ,kCAAkC;AAC5D,SACEC,aAAa,EACbC,gBAAgB,QACX,0CAA0C;AACjD,SAASC,QAAQ,QAAQ,gCAAgC;AACzD,SAASC,cAAc,QAAQ,qDAAqD;AACpF,SAASC,aAAa,QAAQ,mDAAmD;AACjF,SAASC,QAAQ,QAAQ,gCAAgC;;AAEzD;;AASA,SAASC,iBAAiB,QAAQ,wCAAwC;AAe1E;;AAEA,OAAO,MAAMC,IAAI,GAAG;EAClBC,KAAK,EAAET,SAAS;EAChBU,KAAK,EAAEX,SAAS;EAChBY,IAAI,EAAER,QAAQ;EACdS,SAAS,EAAEX,aAAa;EACxBY,YAAY,EAAEX,gBAAgB;EAC9BY,UAAU,EAAEV,cAAc;EAC1BW,SAAS,EAAEV,aAAa;EACxBW,IAAI,EAAEV;AACR,CAAC;AAED,SAASW,UAAU,QAAQ,8BAA8B","ignoreList":[]}
1
+ {"version":3,"names":["A11yIndex","A11yOrder","A11yPaneTitle","A11yScreenChange","A11yView","A11yFocusFrame","A11yFocusTrap","A11yCard","A11yOrderTypeEnum","A11y","Order","Index","View","PaneTitle","ScreenChange","FocusFrame","FocusTrap","Card","ScreenReader","announce","cancel","cancelAll"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,kCAAkC;AAC5D,SAASC,SAAS,QAAQ,kCAAkC;AAC5D,SACEC,aAAa,EACbC,gBAAgB,QACX,0CAA0C;AACjD,SAASC,QAAQ,QAAQ,gCAAgC;AACzD,SAASC,cAAc,QAAQ,qDAAqD;AACpF,SAASC,aAAa,QAAQ,mDAAmD;AACjF,SAASC,QAAQ,QAAQ,gCAAgC;;AAEzD;;AASA,SAASC,iBAAiB,QAAQ,wCAAwC;AAe1E;;AAEA,OAAO,MAAMC,IAAI,GAAG;EAClBC,KAAK,EAAET,SAAS;EAChBU,KAAK,EAAEX,SAAS;EAChBY,IAAI,EAAER,QAAQ;EACdS,SAAS,EAAEX,aAAa;EACxBY,YAAY,EAAEX,gBAAgB;EAC9BY,UAAU,EAAEV,cAAc;EAC1BW,SAAS,EAAEV,aAAa;EACxBW,IAAI,EAAEV;AACR,CAAC;AAED,SACEW,YAAY,EACZC,QAAQ,EACRC,MAAM,EACNC,SAAS,QACJ,8BAA8B","ignoreList":[]}
@@ -13,5 +13,5 @@ export const A11y = {
13
13
  FocusTrap: View,
14
14
  Card: View
15
15
  };
16
- export { A11yModule } from './modules/A11yAnnounceModule';
16
+ export { ScreenReader } from './modules/A11yAnnounceModule';
17
17
  //# sourceMappingURL=index.web.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["A11yIndex","View","A11yOrderTypeEnum","A11y","Order","Index","PaneTitle","ScreenChange","FocusFrame","FocusTrap","Card","A11yModule"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,kCAAkC;AAC5D,SAASC,IAAI,QAAQ,cAAc;AAOnC,SAASC,iBAAiB,QAAQ,wCAAwC;AAM1E,OAAO,MAAMC,IAAI,GAAG;EAClBC,KAAK,EAAEH,IAAI;EACXI,KAAK,EAAEL,SAAS;EAChBC,IAAI,EAAEA,IAAI;EACVK,SAAS,EAAEL,IAAI;EACfM,YAAY,EAAEN,IAAI;EAClBO,UAAU,EAAEP,IAAI;EAChBQ,SAAS,EAAER,IAAI;EACfS,IAAI,EAAET;AACR,CAAC;AAED,SAASU,UAAU,QAAQ,8BAA8B","ignoreList":[]}
1
+ {"version":3,"names":["A11yIndex","View","A11yOrderTypeEnum","A11y","Order","Index","PaneTitle","ScreenChange","FocusFrame","FocusTrap","Card","ScreenReader"],"sourceRoot":"../../src","sources":["index.web.ts"],"mappings":";;AAAA,SAASA,SAAS,QAAQ,kCAAkC;AAC5D,SAASC,IAAI,QAAQ,cAAc;AAOnC,SAASC,iBAAiB,QAAQ,wCAAwC;AAM1E,OAAO,MAAMC,IAAI,GAAG;EAClBC,KAAK,EAAEH,IAAI;EACXI,KAAK,EAAEL,SAAS;EAChBC,IAAI,EAAEA,IAAI;EACVK,SAAS,EAAEL,IAAI;EACfM,YAAY,EAAEN,IAAI;EAClBO,UAAU,EAAEP,IAAI;EAChBQ,SAAS,EAAER,IAAI;EACfS,IAAI,EAAET;AACR,CAAC;AAED,SAASU,YAAY,QAAQ,8BAA8B","ignoreList":[]}
@@ -1,7 +1,37 @@
1
1
  "use strict";
2
2
 
3
+ // Android stub — bypasses the native bridge, uses the built-in API directly.
3
4
  import { AccessibilityInfo } from 'react-native';
4
- export const A11yModule = {
5
- announce: AccessibilityInfo.announceForAccessibility
5
+ export const ScreenReader = {
6
+ announce: message => {
7
+ AccessibilityInfo.announceForAccessibility(message);
8
+ return Promise.resolve({
9
+ id: '',
10
+ status: 'fired'
11
+ });
12
+ },
13
+ cancel: () => Promise.resolve({
14
+ id: '',
15
+ status: 'cancelled'
16
+ }),
17
+ cancelAll: () => Promise.resolve({
18
+ id: '',
19
+ status: 'cancelled'
20
+ })
6
21
  };
22
+ export const announce = message => {
23
+ AccessibilityInfo.announceForAccessibility(message);
24
+ return Promise.resolve({
25
+ id: '',
26
+ status: 'fired'
27
+ });
28
+ };
29
+ export const cancel = () => Promise.resolve({
30
+ id: '',
31
+ status: 'cancelled'
32
+ });
33
+ export const cancelAll = () => Promise.resolve({
34
+ id: '',
35
+ status: 'cancelled'
36
+ });
7
37
  //# sourceMappingURL=A11yAnnounceModule.android.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["AccessibilityInfo","A11yModule","announce","announceForAccessibility"],"sourceRoot":"../../../src","sources":["modules/A11yAnnounceModule.android.ts"],"mappings":";;AAAA,SAASA,iBAAiB,QAAQ,cAAc;AAEhD,OAAO,MAAMC,UAAU,GAAG;EACxBC,QAAQ,EAAEF,iBAAiB,CAACG;AAC9B,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["AccessibilityInfo","ScreenReader","announce","message","announceForAccessibility","Promise","resolve","id","status","cancel","cancelAll"],"sourceRoot":"../../../src","sources":["modules/A11yAnnounceModule.android.ts"],"mappings":";;AAAA;AACA,SAASA,iBAAiB,QAAQ,cAAc;AAEhD,OAAO,MAAMC,YAAY,GAAG;EAC1BC,QAAQ,EAAGC,OAAe,IAAK;IAC7BH,iBAAiB,CAACI,wBAAwB,CAACD,OAAO,CAAC;IACnD,OAAOE,OAAO,CAACC,OAAO,CAAC;MAAEC,EAAE,EAAE,EAAE;MAAEC,MAAM,EAAE;IAAiB,CAAC,CAAC;EAC9D,CAAC;EACDC,MAAM,EAAEA,CAAA,KAAMJ,OAAO,CAACC,OAAO,CAAC;IAAEC,EAAE,EAAE,EAAE;IAAEC,MAAM,EAAE;EAAqB,CAAC,CAAC;EACvEE,SAAS,EAAEA,CAAA,KAAML,OAAO,CAACC,OAAO,CAAC;IAAEC,EAAE,EAAE,EAAE;IAAEC,MAAM,EAAE;EAAqB,CAAC;AAC3E,CAAC;AAED,OAAO,MAAMN,QAAQ,GAAIC,OAAe,IAAK;EAC3CH,iBAAiB,CAACI,wBAAwB,CAACD,OAAO,CAAC;EACnD,OAAOE,OAAO,CAACC,OAAO,CAAC;IAAEC,EAAE,EAAE,EAAE;IAAEC,MAAM,EAAE;EAAiB,CAAC,CAAC;AAC9D,CAAC;AAED,OAAO,MAAMC,MAAM,GAAGA,CAAA,KACpBJ,OAAO,CAACC,OAAO,CAAC;EAAEC,EAAE,EAAE,EAAE;EAAEC,MAAM,EAAE;AAAqB,CAAC,CAAC;AAC3D,OAAO,MAAME,SAAS,GAAGA,CAAA,KACvBL,OAAO,CAACC,OAAO,CAAC;EAAEC,EAAE,EAAE,EAAE;EAAEC,MAAM,EAAE;AAAqB,CAAC,CAAC","ignoreList":[]}
@@ -1,23 +1,78 @@
1
1
  "use strict";
2
2
 
3
3
  import { NativeModules, Platform } from 'react-native';
4
- const LINKING_ERROR = `The package 'react-native-external-keyboard' doesn't seem to be linked. Make sure: \n\n${Platform.select({
4
+ import NativeA11yAnnounceModule from '../nativeSpecs/NativeA11yAnnounceModule';
5
+ const LINKING_ERROR = `The package 'react-native-a11y-order' doesn't seem to be linked. Make sure: \n\n${Platform.select({
5
6
  ios: "- You have run 'pod install'\n",
6
7
  default: ''
7
8
  })}- You rebuilt the app after installing the package\n` + `- You are not using Expo Go\n`;
8
9
 
9
10
  // @ts-expect-error
10
11
  const isTurboModuleEnabled = global.__turboModuleProxy != null;
11
- const A11yAnnounceModule = isTurboModuleEnabled ? require('../nativeSpecs/NativeA11yAnnounceModule').default : NativeModules.A11yAnnounceModule;
12
- export const A11yAnnounce = A11yAnnounceModule || new Proxy({}, {
12
+ const A11yAnnounceNative = isTurboModuleEnabled ? NativeA11yAnnounceModule : NativeModules.A11yAnnounceModule;
13
+ const A11yAnnounceProxy = A11yAnnounceNative ?? new Proxy({}, {
13
14
  get() {
14
15
  throw new Error(LINKING_ERROR);
15
16
  }
16
17
  });
17
- export function announce(message) {
18
- A11yAnnounce.announce(message);
18
+
19
+ // ─── Types ────────────────────────────────────────────────────────────────────
20
+
21
+ // ─── Core API ─────────────────────────────────────────────────────────────────
22
+
23
+ /**
24
+ * Posts a screen reader announcement.
25
+ *
26
+ * **calm mode** (`calm: true`): navigation-aware — waits for transitions to
27
+ * settle and for VoiceOver/TalkBack to have a focused element. Promise
28
+ * resolves when the announcement is **actually fired** (not just enqueued).
29
+ *
30
+ * **direct mode** (`calm: false`, default): posts immediately with speech
31
+ * attributes. On iOS, Promise resolves when VoiceOver confirms speech finished
32
+ * (`status: 'spoken'`) or was interrupted (`status: 'fired'`).
33
+ * On Android, always resolves immediately with `status: 'fired'`.
34
+ */
35
+ export function announce(message, options) {
36
+ const {
37
+ speech,
38
+ ...rest
39
+ } = options ?? {};
40
+ return A11yAnnounceProxy.announce(message, {
41
+ ...rest,
42
+ ...speech
43
+ });
44
+ }
45
+
46
+ /**
47
+ * Cancels the announcement with the given `id`.
48
+ * In calm mode, removes it from the service queue if not yet fired.
49
+ * In direct mode, interrupts the active announcement if it matches.
50
+ */
51
+ export function cancel(id) {
52
+ return A11yAnnounceProxy.cancel(id);
19
53
  }
20
- export const A11yModule = {
21
- announce
54
+
55
+ /**
56
+ * Cancels all pending and active announcements.
57
+ * Calm-mode promises resolve with `status: 'cancelled'`.
58
+ */
59
+ export function cancelAll() {
60
+ return A11yAnnounceProxy.cancelAll();
61
+ }
62
+
63
+ // ─── Namespace export (backward-compatible) ───────────────────────────────────
64
+
65
+ export const ScreenReader = {
66
+ /**
67
+ * Posts a navigation-aware announcement (calm mode).
68
+ * Waits for transitions to finish before speaking.
69
+ * Promise resolves when the announcement is actually fired.
70
+ */
71
+ announce: (message, options) => announce(message, {
72
+ calm: true,
73
+ ...options
74
+ }),
75
+ cancel,
76
+ cancelAll
22
77
  };
23
78
  //# sourceMappingURL=A11yAnnounceModule.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","Platform","LINKING_ERROR","select","ios","default","isTurboModuleEnabled","global","__turboModuleProxy","A11yAnnounceModule","require","A11yAnnounce","Proxy","get","Error","announce","message","A11yModule"],"sourceRoot":"../../../src","sources":["modules/A11yAnnounceModule.ts"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAEtD,MAAMC,aAAa,GACjB,0FAA0FD,QAAQ,CAACE,MAAM,CACvG;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CACvD,CAAC,sDAAsD,GACvD,+BAA+B;;AAEjC;AACA,MAAMC,oBAAoB,GAAGC,MAAM,CAACC,kBAAkB,IAAI,IAAI;AAC9D,MAAMC,kBAAkB,GAAGH,oBAAoB,GAC3CI,OAAO,CAAC,yCAAyC,CAAC,CAACL,OAAO,GAC1DL,aAAa,CAACS,kBAAkB;AAEpC,OAAO,MAAME,YAAY,GACvBF,kBAAkB,IAClB,IAAIG,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACZ,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEH,OAAO,SAASa,QAAQA,CAACC,OAAe,EAAE;EACxCL,YAAY,CAACI,QAAQ,CAACC,OAAO,CAAC;AAChC;AAEA,OAAO,MAAMC,UAAU,GAAG;EACxBF;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["NativeModules","Platform","NativeA11yAnnounceModule","LINKING_ERROR","select","ios","default","isTurboModuleEnabled","global","__turboModuleProxy","A11yAnnounceNative","A11yAnnounceModule","A11yAnnounceProxy","Proxy","get","Error","announce","message","options","speech","rest","cancel","id","cancelAll","ScreenReader","calm"],"sourceRoot":"../../../src","sources":["modules/A11yAnnounceModule.ts"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AACtD,OAAOC,wBAAwB,MAAM,yCAAyC;AAE9E,MAAMC,aAAa,GACjB,mFAAmFF,QAAQ,CAACG,MAAM,CAChG;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CACvD,CAAC,sDAAsD,GACvD,+BAA+B;;AAEjC;AACA,MAAMC,oBAAoB,GAAGC,MAAM,CAACC,kBAAkB,IAAI,IAAI;AAE9D,MAAMC,kBAAkB,GAAGH,oBAAoB,GAC3CL,wBAAwB,GACxBF,aAAa,CAACW,kBAAkB;AAEpC,MAAMC,iBAAkD,GACtDF,kBAAkB,IAClB,IAAIG,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACZ,aAAa,CAAC;EAChC;AACF,CACF,CAAC;;AAEH;;AA6FA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASa,QAAQA,CACtBC,OAAe,EACfC,OAAyB,EACI;EAC7B,MAAM;IAAEC,MAAM;IAAE,GAAGC;EAAK,CAAC,GAAGF,OAAO,IAAI,CAAC,CAAC;EACzC,OAAON,iBAAiB,CAAEI,QAAQ,CAACC,OAAO,EAAE;IAC1C,GAAGG,IAAI;IACP,GAAGD;EACL,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,MAAMA,CAACC,EAAU,EAA+B;EAC9D,OAAOV,iBAAiB,CAAES,MAAM,CAACC,EAAE,CAAC;AACtC;;AAEA;AACA;AACA;AACA;AACA,OAAO,SAASC,SAASA,CAAA,EAAgC;EACvD,OAAOX,iBAAiB,CAAEW,SAAS,CAAC,CAAC;AACvC;;AAEA;;AAEA,OAAO,MAAMC,YAAY,GAAG;EAC1B;AACF;AACA;AACA;AACA;EACER,QAAQ,EAAEA,CAACC,OAAe,EAAEC,OAAyB,KACnDF,QAAQ,CAACC,OAAO,EAAE;IAAEQ,IAAI,EAAE,IAAI;IAAE,GAAGP;EAAQ,CAAC,CAAC;EAE/CG,MAAM;EACNE;AACF,CAAC","ignoreList":[]}
@@ -24,7 +24,6 @@ export interface A11yIndexNativeComponentProps extends ViewProps {
24
24
  orderFocusType?: Int32;
25
25
  shouldGroupAccessibilityChildren?: Int32;
26
26
 
27
- autoFocus?: boolean;
28
27
  descendantFocusChangedEnabled?: boolean;
29
28
 
30
29
  onScreenReaderFocused?: DirectEventHandler<{}>;
@@ -1,5 +1,9 @@
1
1
  "use strict";
2
2
 
3
3
  import { TurboModuleRegistry } from 'react-native';
4
+
5
+ // Speech options are kept flat here (bridge contract).
6
+ // The JS API groups them under `speech: {}` and flattens before calling native.
7
+
4
8
  export default TurboModuleRegistry.get('A11yAnnounceModule');
5
9
  //# sourceMappingURL=NativeA11yAnnounceModule.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["TurboModuleRegistry","get"],"sourceRoot":"../../../src","sources":["nativeSpecs/NativeA11yAnnounceModule.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;AAMlD,eAAeA,mBAAmB,CAACC,GAAG,CAAO,oBAAoB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["TurboModuleRegistry","get"],"sourceRoot":"../../../src","sources":["nativeSpecs/NativeA11yAnnounceModule.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;;AAElD;AACA;;AAiCA,eAAeA,mBAAmB,CAACC,GAAG,CAAO,oBAAoB,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"A11yCard.ios.d.ts","sourceRoot":"","sources":["../../../../../src/components/A11yCard/A11yCard.ios.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B,eAAO,MAAM,QAAQ,GAAI,sFAQtB,aAAa,sBAuBf,CAAC"}
1
+ {"version":3,"file":"A11yCard.ios.d.ts","sourceRoot":"","sources":["../../../../../src/components/A11yCard/A11yCard.ios.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B,eAAO,MAAM,QAAQ,GAAI,sFAQtB,aAAa,sBAwBf,CAAC"}
@@ -129,7 +129,6 @@ export declare const A11yIndex: React.NamedExoticComponent<Readonly<Omit<Readonl
129
129
  orderType?: A11yOrderType;
130
130
  a11yUIContainer?: import("./A11yIndex.types").A11yUIContainerType;
131
131
  shouldGroupAccessibilityChildren?: boolean;
132
- autoFocus?: boolean;
133
132
  onScreenReaderFocused?: () => void;
134
133
  onScreenReaderSubViewFocusChange?: (isFocused: boolean) => void;
135
134
  onScreenReaderSubViewFocused?: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"A11yIndex.d.ts","sourceRoot":"","sources":["../../../../../src/components/A11yIndex/A11yIndex.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAM3D,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,aAAa,EAEnB,MAAM,mBAAmB,CAAC;AA0G3B,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uCAgErB,CAAC"}
1
+ {"version":3,"file":"A11yIndex.d.ts","sourceRoot":"","sources":["../../../../../src/components/A11yIndex/A11yIndex.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAM3D,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,aAAa,EAEnB,MAAM,mBAAmB,CAAC;AA2G3B,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uCAgErB,CAAC"}
@@ -75,10 +75,6 @@ export type A11yIndexProps = ViewProps & {
75
75
  * @platform ios
76
76
  */
77
77
  shouldGroupAccessibilityChildren?: boolean;
78
- /**
79
- * When `true`, requests screen reader focus on this element immediately after mount.
80
- */
81
- autoFocus?: boolean;
82
78
  /**
83
79
  * Called when the screen reader focuses this element directly (not a descendant).
84
80
  */
@@ -1 +1 @@
1
- {"version":3,"file":"A11yIndex.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/A11yIndex/A11yIndex.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,4CAA4C,CAAC;AAErG,0GAA0G;AAC1G,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,IAAI,CAAC,EAAE,OAAO,CAAC,GAAG;IAC3E,iDAAiD;IACjD,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AAEF,oGAAoG;AACpG,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AAEX,wEAAwE;AACxE,eAAO,MAAM,qBAAqB;;;;;;CAMxB,CAAC;AAEX;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,qBAAqB,CAAC;AAErE;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,iBAAiB,CAAC;AAE3D,kFAAkF;AAClF,MAAM,MAAM,uCAAuC,GACjD,oBAAoB,CAAC,kCAAkC,CAAC,CAAC;AAE3D,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG;IACvC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC;IAE1B;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,mBAAmB,CAAC;IAEtC;;;;;;;;;;;;OAYG;IACH,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAE3C;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IAEnC;;;OAGG;IACH,gCAAgC,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAEhE;;OAEG;IACH,4BAA4B,CAAC,EAAE,MAAM,IAAI,CAAC;IAE1C;;OAEG;IACH,4BAA4B,CAAC,EAAE,MAAM,IAAI,CAAC;IAE1C;;;OAGG;IACH,oCAAoC,CAAC,EAAE,CACrC,CAAC,EAAE,uCAAuC,KACvC,IAAI,CAAC;CACX,CAAC"}
1
+ {"version":3,"file":"A11yIndex.types.d.ts","sourceRoot":"","sources":["../../../../../src/components/A11yIndex/A11yIndex.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC1E,OAAO,KAAK,EAAE,kCAAkC,EAAE,MAAM,4CAA4C,CAAC;AAErG,0GAA0G;AAC1G,MAAM,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,IAAI,CAAC,EAAE,OAAO,CAAC,GAAG;IAC3E,iDAAiD;IACjD,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB,CAAC;AAEF,oGAAoG;AACpG,eAAO,MAAM,iBAAiB;;;;CAIpB,CAAC;AAEX,wEAAwE;AACxE,eAAO,MAAM,qBAAqB;;;;;;CAMxB,CAAC;AAEX;;;GAGG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,OAAO,qBAAqB,CAAC;AAErE;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,iBAAiB,CAAC;AAE3D,kFAAkF;AAClF,MAAM,MAAM,uCAAuC,GACjD,oBAAoB,CAAC,kCAAkC,CAAC,CAAC;AAE3D,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG;IACvC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;;;;OASG;IACH,SAAS,CAAC,EAAE,aAAa,CAAC;IAE1B;;;;;;OAMG;IACH,eAAe,CAAC,EAAE,mBAAmB,CAAC;IAEtC;;;;;;;;;;;;OAYG;IACH,gCAAgC,CAAC,EAAE,OAAO,CAAC;IAE3C;;OAEG;IACH,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IAEnC;;;OAGG;IACH,gCAAgC,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAEhE;;OAEG;IACH,4BAA4B,CAAC,EAAE,MAAM,IAAI,CAAC;IAE1C;;OAEG;IACH,4BAA4B,CAAC,EAAE,MAAM,IAAI,CAAC;IAE1C;;;OAGG;IACH,oCAAoC,CAAC,EAAE,CACrC,CAAC,EAAE,uCAAuC,KACvC,IAAI,CAAC;CACX,CAAC"}
@@ -128,7 +128,6 @@ export declare const A11yIndex: React.ForwardRefExoticComponent<Readonly<Omit<Re
128
128
  orderType?: import("./A11yIndex.types").A11yOrderType;
129
129
  a11yUIContainer?: import("./A11yIndex.types").A11yUIContainerType;
130
130
  shouldGroupAccessibilityChildren?: boolean;
131
- autoFocus?: boolean;
132
131
  onScreenReaderFocused?: () => void;
133
132
  onScreenReaderSubViewFocusChange?: (isFocused: boolean) => void;
134
133
  onScreenReaderSubViewFocused?: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"A11yIndex.web.d.ts","sourceRoot":"","sources":["../../../../../src/components/A11yIndex/A11yIndex.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAWpB,CAAC"}
1
+ {"version":3,"file":"A11yIndex.web.d.ts","sourceRoot":"","sources":["../../../../../src/components/A11yIndex/A11yIndex.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4BAWpB,CAAC"}
@@ -132,7 +132,6 @@ export declare const A11yView: import("react").NamedExoticComponent<Readonly<Omi
132
132
  orderType?: import("../..").A11yOrderType;
133
133
  a11yUIContainer?: import("../A11yIndex/A11yIndex.types").A11yUIContainerType;
134
134
  shouldGroupAccessibilityChildren?: boolean;
135
- autoFocus?: boolean;
136
135
  onScreenReaderFocused?: () => void;
137
136
  onScreenReaderSubViewFocusChange?: (isFocused: boolean) => void;
138
137
  onScreenReaderSubViewFocused?: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"A11yView.d.ts","sourceRoot":"","sources":["../../../../../src/components/A11yView/A11yView.tsx"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iEAAY,CAAC"}
1
+ {"version":3,"file":"A11yView.d.ts","sourceRoot":"","sources":["../../../../../src/components/A11yView/A11yView.tsx"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iEAAY,CAAC"}
@@ -259,7 +259,6 @@ export declare const A11y: {
259
259
  orderType?: import(".").A11yOrderType;
260
260
  a11yUIContainer?: import("./components/A11yIndex/A11yIndex.types").A11yUIContainerType;
261
261
  shouldGroupAccessibilityChildren?: boolean;
262
- autoFocus?: boolean;
263
262
  onScreenReaderFocused?: () => void;
264
263
  onScreenReaderSubViewFocusChange?: (isFocused: boolean) => void;
265
264
  onScreenReaderSubViewFocused?: () => void;
@@ -395,7 +394,6 @@ export declare const A11y: {
395
394
  orderType?: import(".").A11yOrderType;
396
395
  a11yUIContainer?: import("./components/A11yIndex/A11yIndex.types").A11yUIContainerType;
397
396
  shouldGroupAccessibilityChildren?: boolean;
398
- autoFocus?: boolean;
399
397
  onScreenReaderFocused?: () => void;
400
398
  onScreenReaderSubViewFocusChange?: (isFocused: boolean) => void;
401
399
  onScreenReaderSubViewFocused?: () => void;
@@ -408,5 +406,6 @@ export declare const A11y: {
408
406
  FocusTrap: ({ forceLock, ...props }: import(".").A11yFocusTrapProps) => import("react").JSX.Element;
409
407
  Card: ({ containerProps, style, testID, onPress, accessibility, pressableProps, children, }: import(".").A11yCardProps) => import("react").JSX.Element;
410
408
  };
411
- export { A11yModule } from './modules/A11yAnnounceModule';
409
+ export { ScreenReader, announce, cancel, cancelAll, } from './modules/A11yAnnounceModule';
410
+ export type { AnnouncePriority, AnnounceStatus, AnnounceOptions, AnnouncementResult, } from './modules/A11yAnnounceModule';
412
411
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAaA,YAAY,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC1E,YAAY,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,YAAY,EACV,cAAc,EACd,aAAa,EACb,aAAa,GACd,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,YAAY,EACV,aAAa,EACb,uCAAuC,GACxC,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EACV,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EACV,kBAAkB,EAClB,qBAAqB,EACrB,YAAY,GACb,MAAM,gDAAgD,CAAC;AAIxD,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAShB,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAaA,YAAY,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC1E,YAAY,EAAE,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC7E,YAAY,EACV,cAAc,EACd,aAAa,EACb,aAAa,GACd,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAC3E,YAAY,EACV,aAAa,EACb,uCAAuC,GACxC,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EACV,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EACV,kBAAkB,EAClB,qBAAqB,EACrB,YAAY,GACb,MAAM,gDAAgD,CAAC;AAIxD,eAAO,MAAM,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAShB,CAAC;AAEF,OAAO,EACL,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,SAAS,GACV,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,gBAAgB,EAChB,cAAc,EACd,eAAe,EACf,kBAAkB,GACnB,MAAM,8BAA8B,CAAC"}
@@ -137,7 +137,6 @@ export declare const A11y: {
137
137
  orderType?: import(".").A11yOrderType;
138
138
  a11yUIContainer?: import("./components/A11yIndex/A11yIndex.types").A11yUIContainerType;
139
139
  shouldGroupAccessibilityChildren?: boolean;
140
- autoFocus?: boolean;
141
140
  onScreenReaderFocused?: () => void;
142
141
  onScreenReaderSubViewFocusChange?: (isFocused: boolean) => void;
143
142
  onScreenReaderSubViewFocused?: () => void;
@@ -175,5 +174,5 @@ export declare const A11y: {
175
174
  ref?: React.Ref<React.ComponentRef<typeof import("react-native").unstable_NativeView>>;
176
175
  }) => React.ReactNode;
177
176
  };
178
- export { A11yModule } from './modules/A11yAnnounceModule';
177
+ export { ScreenReader } from './modules/A11yAnnounceModule';
179
178
  //# sourceMappingURL=index.web.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../src/index.web.ts"],"names":[],"mappings":"AAGA,YAAY,EACV,aAAa,EACb,aAAa,EACb,cAAc,GACf,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAE3E,YAAY,EAAE,uCAAuC,EAAE,MAAM,sCAAsC,CAAC;AAEpG,YAAY,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAE1E,eAAO,MAAM,IAAI;;WAYsH,CAAC;;WAAyE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAA3E,CAAC;;WAAyE,CAAC;;;WAA3E,CAAC;;WAAyE,CAAC;;;WAA3E,CAAC;;WAAyE,CAAC;;;WAA3E,CAAC;;WAAyE,CAAC;;;WAA3E,CAAC;;WAAyE,CAAC;;;WAA3E,CAAC;;WAAyE,CAAC;;CAHjN,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../src/index.web.ts"],"names":[],"mappings":"AAGA,YAAY,EACV,aAAa,EACb,aAAa,EACb,cAAc,GACf,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wCAAwC,CAAC;AAE3E,YAAY,EAAE,uCAAuC,EAAE,MAAM,sCAAsC,CAAC;AAEpG,YAAY,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAE1E,eAAO,MAAM,IAAI;;WAYoH,CAAC;;WAAyE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;WAA3E,CAAC;;WAAyE,CAAC;;;WAA3E,CAAC;;WAAyE,CAAC;;;WAA3E,CAAC;;WAAyE,CAAC;;;WAA3E,CAAC;;WAAyE,CAAC;;;WAA3E,CAAC;;WAAyE,CAAC;;;WAA3E,CAAC;;WAAyE,CAAC;;CAH/M,CAAC;AAEF,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC"}
@@ -1,4 +1,27 @@
1
- export declare const A11yModule: {
2
- announce: (announcement: string) => void;
1
+ export declare const ScreenReader: {
2
+ announce: (message: string) => Promise<{
3
+ id: string;
4
+ status: "fired";
5
+ }>;
6
+ cancel: () => Promise<{
7
+ id: string;
8
+ status: "cancelled";
9
+ }>;
10
+ cancelAll: () => Promise<{
11
+ id: string;
12
+ status: "cancelled";
13
+ }>;
3
14
  };
15
+ export declare const announce: (message: string) => Promise<{
16
+ id: string;
17
+ status: "fired";
18
+ }>;
19
+ export declare const cancel: () => Promise<{
20
+ id: string;
21
+ status: "cancelled";
22
+ }>;
23
+ export declare const cancelAll: () => Promise<{
24
+ id: string;
25
+ status: "cancelled";
26
+ }>;
4
27
  //# sourceMappingURL=A11yAnnounceModule.android.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"A11yAnnounceModule.android.d.ts","sourceRoot":"","sources":["../../../../src/modules/A11yAnnounceModule.android.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU;;CAEtB,CAAC"}
1
+ {"version":3,"file":"A11yAnnounceModule.android.d.ts","sourceRoot":"","sources":["../../../../src/modules/A11yAnnounceModule.android.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,YAAY;wBACH,MAAM;;;;;;;;;;;;CAM3B,CAAC;AAEF,eAAO,MAAM,QAAQ,GAAI,SAAS,MAAM;;;EAGvC,CAAC;AAEF,eAAO,MAAM,MAAM;;;EACwC,CAAC;AAC5D,eAAO,MAAM,SAAS;;;EACqC,CAAC"}
@@ -1,6 +1,114 @@
1
- export declare const A11yAnnounce: any;
2
- export declare function announce(message: string): void;
3
- export declare const A11yModule: {
4
- announce: typeof announce;
1
+ export type AnnouncePriority = 'low' | 'default' | 'high';
2
+ export type AnnounceStatus = 'spoken' | 'fired' | 'cancelled';
3
+ export type AnnounceOptions = {
4
+ /**
5
+ * Controls urgency. iOS 17+: maps to `UIAccessibilityPriority`.
6
+ *
7
+ * - `'low'` — spoken only when the screen reader is fully idle
8
+ * - `'default'` — standard queued announcement (default)
9
+ * - `'high'` — may preempt lower-priority pending items
10
+ */
11
+ priority?: AnnouncePriority;
12
+ /**
13
+ * When `true`, waits for current speech before speaking.
14
+ * When `false`, may interrupt current speech.
15
+ * Default: `true`
16
+ */
17
+ queue?: boolean;
18
+ /**
19
+ * Navigation-aware mode. When `true`, the announcement waits for:
20
+ * - Active navigation transitions to finish (1 s lock after screen change)
21
+ * - The screen reader to have a focused element
22
+ * - A 300 ms debounce to prevent overlap with focus changes
23
+ *
24
+ * Promise resolves when the service **actually fires** the announcement
25
+ * (not just when it's enqueued), so `await` is meaningful.
26
+ * Default: `false`
27
+ */
28
+ calm?: boolean;
29
+ /**
30
+ * Explicit delay in milliseconds before the announcement is posted.
31
+ * In `calm` mode the service manages its own timing; this is ignored.
32
+ * Default: `0`
33
+ */
34
+ delayMs?: number;
35
+ /**
36
+ * iOS-only speech characteristics. No-op on Android.
37
+ * Only relevant in direct mode (`calm: false`).
38
+ */
39
+ speech?: {
40
+ /**
41
+ * BCP-47 language tag (e.g. `'fr-FR'`). Defaults to the system language.
42
+ * @platform ios
43
+ */
44
+ language?: string;
45
+ /**
46
+ * Voice pitch multiplier, range `0.0`–`2.0`. Default: `1.0`.
47
+ * @platform ios
48
+ */
49
+ pitch?: number;
50
+ /**
51
+ * Spell each character individually.
52
+ * Useful for codes, CAPTCHAs, or abbreviations.
53
+ * @platform ios
54
+ */
55
+ spellOut?: boolean;
56
+ /**
57
+ * Read punctuation marks aloud (e.g. "comma", "period").
58
+ * @platform ios
59
+ */
60
+ punctuation?: boolean;
61
+ /**
62
+ * IPA pronunciation hint applied to the entire string.
63
+ * @platform ios
64
+ */
65
+ ipaNotation?: string;
66
+ };
67
+ };
68
+ export type AnnouncementResult = {
69
+ /** UUID assigned at enqueue time. */
70
+ id: string;
71
+ /**
72
+ * - `'spoken'` — VoiceOver confirmed full speech (iOS direct mode only).
73
+ * - `'fired'` — posted to the screen reader; completion not confirmed.
74
+ * Always the case on Android. iOS calm mode resolves here
75
+ * once the service actually fires the announcement.
76
+ * - `'cancelled'` — explicitly cancelled via `cancel()` or `cancelAll()`.
77
+ */
78
+ status: AnnounceStatus;
79
+ };
80
+ /**
81
+ * Posts a screen reader announcement.
82
+ *
83
+ * **calm mode** (`calm: true`): navigation-aware — waits for transitions to
84
+ * settle and for VoiceOver/TalkBack to have a focused element. Promise
85
+ * resolves when the announcement is **actually fired** (not just enqueued).
86
+ *
87
+ * **direct mode** (`calm: false`, default): posts immediately with speech
88
+ * attributes. On iOS, Promise resolves when VoiceOver confirms speech finished
89
+ * (`status: 'spoken'`) or was interrupted (`status: 'fired'`).
90
+ * On Android, always resolves immediately with `status: 'fired'`.
91
+ */
92
+ export declare function announce(message: string, options?: AnnounceOptions): Promise<AnnouncementResult>;
93
+ /**
94
+ * Cancels the announcement with the given `id`.
95
+ * In calm mode, removes it from the service queue if not yet fired.
96
+ * In direct mode, interrupts the active announcement if it matches.
97
+ */
98
+ export declare function cancel(id: string): Promise<AnnouncementResult>;
99
+ /**
100
+ * Cancels all pending and active announcements.
101
+ * Calm-mode promises resolve with `status: 'cancelled'`.
102
+ */
103
+ export declare function cancelAll(): Promise<AnnouncementResult>;
104
+ export declare const ScreenReader: {
105
+ /**
106
+ * Posts a navigation-aware announcement (calm mode).
107
+ * Waits for transitions to finish before speaking.
108
+ * Promise resolves when the announcement is actually fired.
109
+ */
110
+ announce: (message: string, options?: AnnounceOptions) => Promise<AnnouncementResult>;
111
+ cancel: typeof cancel;
112
+ cancelAll: typeof cancelAll;
5
113
  };
6
114
  //# sourceMappingURL=A11yAnnounceModule.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"A11yAnnounceModule.d.ts","sourceRoot":"","sources":["../../../../src/modules/A11yAnnounceModule.ts"],"names":[],"mappings":"AAcA,eAAO,MAAM,YAAY,KAStB,CAAC;AAEJ,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,QAEvC;AAED,eAAO,MAAM,UAAU;;CAEtB,CAAC"}
1
+ {"version":3,"file":"A11yAnnounceModule.d.ts","sourceRoot":"","sources":["../../../../src/modules/A11yAnnounceModule.ts"],"names":[],"mappings":"AA6BA,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,SAAS,GAAG,MAAM,CAAC;AAE1D,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,CAAC;AAE9D,MAAM,MAAM,eAAe,GAAG;IAC5B;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,gBAAgB,CAAC;IAE5B;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB;;;;;;;;;OASG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;IAEf;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,MAAM,CAAC,EAAE;QACP;;;WAGG;QACH,QAAQ,CAAC,EAAE,MAAM,CAAC;QAElB;;;WAGG;QACH,KAAK,CAAC,EAAE,MAAM,CAAC;QAEf;;;;WAIG;QACH,QAAQ,CAAC,EAAE,OAAO,CAAC;QAEnB;;;WAGG;QACH,WAAW,CAAC,EAAE,OAAO,CAAC;QAEtB;;;WAGG;QACH,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,qCAAqC;IACrC,EAAE,EAAE,MAAM,CAAC;IACX;;;;;;OAMG;IACH,MAAM,EAAE,cAAc,CAAC;CACxB,CAAC;AAIF;;;;;;;;;;;GAWG;AACH,wBAAgB,QAAQ,CACtB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,eAAe,GACxB,OAAO,CAAC,kBAAkB,CAAC,CAM7B;AAED;;;;GAIG;AACH,wBAAgB,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAE9D;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAEvD;AAID,eAAO,MAAM,YAAY;IACvB;;;;OAIG;wBACiB,MAAM,YAAY,eAAe;;;CAKtD,CAAC"}
@@ -13,7 +13,6 @@ export interface A11yIndexNativeComponentProps extends ViewProps {
13
13
  orderKey?: string;
14
14
  orderFocusType?: Int32;
15
15
  shouldGroupAccessibilityChildren?: Int32;
16
- autoFocus?: boolean;
17
16
  descendantFocusChangedEnabled?: boolean;
18
17
  onScreenReaderFocused?: DirectEventHandler<{}>;
19
18
  onScreenReaderDescendantFocusChanged?: DirectEventHandler<ScreenReaderDescendantFocusChanged>;
@@ -1 +1 @@
1
- {"version":3,"file":"A11yIndexNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/nativeSpecs/A11yIndexNativeComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAGL,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EACV,kBAAkB,EAClB,KAAK,EACN,MAAM,2CAA2C,CAAC;AAEnD,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC;IAC7C,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC,CAAC;AAEH,MAAM,MAAM,kCAAkC,GAAG,QAAQ,CAAC;IACxD,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC,CAAC;AAEH,MAAM,WAAW,6BAA8B,SAAQ,SAAS;IAC9D,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,KAAK,CAAC;IACvB,gCAAgC,CAAC,EAAE,KAAK,CAAC;IAEzC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,6BAA6B,CAAC,EAAE,OAAO,CAAC;IAExC,qBAAqB,CAAC,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC;IAC/C,oCAAoC,CAAC,EAAE,kBAAkB,CAAC,kCAAkC,CAAC,CAAC;IAC9F,yBAAyB,CAAC,EAAE,kBAAkB,CAAC,uBAAuB,CAAC,CAAC;IAExE,aAAa,CAAC,EAAE,KAAK,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAE7B,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;CAC3D;AAED,eAAO,MAAM,QAAQ,EAAE,cAErB,CAAC;;AAEH,wBAEE"}
1
+ {"version":3,"file":"A11yIndexNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/nativeSpecs/A11yIndexNativeComponent.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAGL,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EACV,kBAAkB,EAClB,KAAK,EACN,MAAM,2CAA2C,CAAC;AAEnD,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC;IAC7C,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC,CAAC;AAEH,MAAM,MAAM,kCAAkC,GAAG,QAAQ,CAAC;IACxD,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC,CAAC;AAEH,MAAM,WAAW,6BAA8B,SAAQ,SAAS;IAC9D,UAAU,CAAC,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,KAAK,CAAC;IACvB,gCAAgC,CAAC,EAAE,KAAK,CAAC;IAEzC,6BAA6B,CAAC,EAAE,OAAO,CAAC;IAExC,qBAAqB,CAAC,EAAE,kBAAkB,CAAC,EAAE,CAAC,CAAC;IAC/C,oCAAoC,CAAC,EAAE,kBAAkB,CAAC,kCAAkC,CAAC,CAAC;IAC9F,yBAAyB,CAAC,EAAE,kBAAkB,CAAC,uBAAuB,CAAC,CAAC;IAExE,aAAa,CAAC,EAAE,KAAK,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAE7B,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC;CAC3D;AAED,eAAO,MAAM,QAAQ,EAAE,cAErB,CAAC;;AAEH,wBAEE"}