react-native-a11y-order 0.9.1 → 0.11.0-alpha.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 (268) hide show
  1. package/README.md +35 -345
  2. package/android/src/main/java/com/a11yorder/A11yOrderPackage.java +2 -6
  3. package/android/src/main/java/com/a11yorder/core/A11yAutoFocusView.java +61 -0
  4. package/android/src/main/java/com/a11yorder/{views/A11yView/A11yView.java → core/A11yScreenReaderView.java} +3 -45
  5. package/android/src/main/java/com/a11yorder/core/A11yViewOrder.java +37 -0
  6. package/android/src/main/java/com/a11yorder/views/A11yCardView/A11yCardViewManager.java +18 -0
  7. package/android/src/main/java/com/a11yorder/views/A11yIndexView/A11yIndexView.java +2 -65
  8. package/android/src/main/java/com/a11yorder/views/A11yIndexView/A11yIndexViewManager.java +27 -0
  9. package/android/src/newarch/A11yCardViewManagerSpec.java +9 -0
  10. package/android/src/oldarch/A11yCardViewManagerSpec.java +8 -0
  11. package/android/src/oldarch/A11yIndexViewManagerSpec.java +9 -0
  12. package/ios/helpers/RNAOFabricEventHelper/RNAOFabricEventHelper.mm +5 -5
  13. package/ios/views/RNAOA11yCardView/RNAOA11yCardView.h +29 -0
  14. package/ios/views/RNAOA11yCardView/RNAOA11yCardView.mm +83 -0
  15. package/ios/views/RNAOA11yCardView/RNAOA11yCardViewManager.h +14 -0
  16. package/ios/views/RNAOA11yCardView/RNAOA11yCardViewManager.mm +17 -0
  17. package/ios/views/RNAOA11yIndexView/RNAOA11yIndexView.h +2 -41
  18. package/ios/views/RNAOA11yIndexView/RNAOA11yIndexView.mm +27 -127
  19. package/ios/views/RNAOA11yIndexView/RNAOA11yIndexViewManager.mm +21 -0
  20. package/ios/views/base/RNAOA11yAutoFocusView.h +30 -0
  21. package/ios/views/{RNAOA11yView/RNAOA11yView.mm → base/RNAOA11yAutoFocusView.mm} +66 -168
  22. package/ios/views/base/RNAOA11yGroupChildrenView.h +21 -0
  23. package/ios/views/base/RNAOA11yGroupChildrenView.mm +19 -0
  24. package/ios/views/base/RNAOA11yScreenReaderView.h +24 -0
  25. package/ios/views/base/RNAOA11yScreenReaderView.mm +32 -0
  26. package/ios/views/base/RNAOA11yViewGroup.h +35 -0
  27. package/ios/views/base/RNAOA11yViewGroup.mm +46 -0
  28. package/ios/views/base/RNAOA11yViewOrder.h +40 -0
  29. package/ios/views/base/RNAOA11yViewOrder.mm +92 -0
  30. package/lib/commonjs/components/A11yCard/A11yCard.ios.js +49 -0
  31. package/lib/commonjs/components/A11yCard/A11yCard.ios.js.map +1 -0
  32. package/lib/commonjs/components/A11yCard/A11yCard.js +41 -0
  33. package/lib/commonjs/components/A11yCard/A11yCard.js.map +1 -0
  34. package/lib/commonjs/{types/A11yGroup.types.js → components/A11yCard/A11yCard.types.js} +1 -1
  35. package/lib/commonjs/components/A11yCard/A11yCard.types.js.map +1 -0
  36. package/lib/commonjs/components/A11yIndex/A11yIndex.js +88 -28
  37. package/lib/commonjs/components/A11yIndex/A11yIndex.js.map +1 -1
  38. package/lib/commonjs/components/A11yIndex/A11yIndex.types.js +39 -0
  39. package/lib/commonjs/components/A11yIndex/A11yIndex.types.js.map +1 -0
  40. package/lib/commonjs/components/A11yIndex/A11yIndex.web.js.map +1 -1
  41. package/lib/commonjs/components/A11yLock/A11yFocusFrame/A11yFocusFrame.js.map +1 -1
  42. package/lib/commonjs/components/A11yLock/A11yFocusTrap/A11yFocusTrap.js.map +1 -1
  43. package/lib/commonjs/components/A11yLock/A11yLock.types.js.map +1 -0
  44. package/lib/commonjs/components/{A11ySequence/A11ySequence.js → A11yOrder/A11yOrder.js} +3 -3
  45. package/lib/commonjs/components/A11yOrder/A11yOrder.js.map +1 -0
  46. package/lib/commonjs/{types/A11yModule.types.js → components/A11yOrder/A11yOrder.types.js} +1 -1
  47. package/lib/commonjs/components/A11yOrder/A11yOrder.types.js.map +1 -0
  48. package/lib/commonjs/components/A11yPaneTitle/A11yPaneTitle.js +6 -7
  49. package/lib/commonjs/components/A11yPaneTitle/A11yPaneTitle.js.map +1 -1
  50. package/lib/commonjs/components/A11yPaneTitle/A11yPaneTitle.types.js +6 -0
  51. package/lib/commonjs/components/A11yPaneTitle/A11yPaneTitle.types.js.map +1 -0
  52. package/lib/commonjs/components/A11yView/A11yView.js +7 -33
  53. package/lib/commonjs/components/A11yView/A11yView.js.map +1 -1
  54. package/lib/commonjs/components/A11yView/A11yView.types.js.map +1 -0
  55. package/lib/commonjs/index.js +17 -8
  56. package/lib/commonjs/index.js.map +1 -1
  57. package/lib/commonjs/index.web.js +10 -4
  58. package/lib/commonjs/index.web.js.map +1 -1
  59. package/lib/commonjs/nativeSpecs/{A11yGroupNativeComponent.ts → A11yCardNativeComponent.ts} +3 -3
  60. package/lib/commonjs/nativeSpecs/A11yIndexNativeComponent.ts +12 -3
  61. package/lib/module/components/A11yCard/A11yCard.ios.js +43 -0
  62. package/lib/module/components/A11yCard/A11yCard.ios.js.map +1 -0
  63. package/lib/module/components/A11yCard/A11yCard.js +35 -0
  64. package/lib/module/components/A11yCard/A11yCard.js.map +1 -0
  65. package/lib/module/components/A11yCard/A11yCard.types.js +4 -0
  66. package/lib/module/components/A11yCard/A11yCard.types.js.map +1 -0
  67. package/lib/module/components/A11yIndex/A11yIndex.js +88 -28
  68. package/lib/module/components/A11yIndex/A11yIndex.js.map +1 -1
  69. package/lib/module/components/A11yIndex/A11yIndex.types.js +35 -0
  70. package/lib/module/components/A11yIndex/A11yIndex.types.js.map +1 -0
  71. package/lib/module/components/A11yIndex/A11yIndex.web.js.map +1 -1
  72. package/lib/module/components/A11yLock/A11yFocusFrame/A11yFocusFrame.js.map +1 -1
  73. package/lib/module/components/A11yLock/A11yFocusTrap/A11yFocusTrap.js.map +1 -1
  74. package/lib/module/components/A11yLock/A11yLock.types.js.map +1 -0
  75. package/lib/module/components/{A11ySequence/A11ySequence.js → A11yOrder/A11yOrder.js} +2 -2
  76. package/lib/module/components/A11yOrder/A11yOrder.js.map +1 -0
  77. package/lib/module/components/A11yOrder/A11yOrder.types.js +4 -0
  78. package/lib/module/components/A11yOrder/A11yOrder.types.js.map +1 -0
  79. package/lib/module/components/A11yPaneTitle/A11yPaneTitle.js +6 -7
  80. package/lib/module/components/A11yPaneTitle/A11yPaneTitle.js.map +1 -1
  81. package/lib/module/components/A11yPaneTitle/A11yPaneTitle.types.js +4 -0
  82. package/lib/module/components/A11yPaneTitle/A11yPaneTitle.types.js.map +1 -0
  83. package/lib/module/components/A11yView/A11yView.js +7 -31
  84. package/lib/module/components/A11yView/A11yView.js.map +1 -1
  85. package/lib/module/components/A11yView/A11yView.types.js.map +1 -0
  86. package/lib/module/index.js +12 -8
  87. package/lib/module/index.js.map +1 -1
  88. package/lib/module/index.web.js +4 -4
  89. package/lib/module/index.web.js.map +1 -1
  90. package/{src/nativeSpecs/A11yGroupNativeComponent.ts → lib/module/nativeSpecs/A11yCardNativeComponent.ts} +3 -3
  91. package/lib/module/nativeSpecs/A11yIndexNativeComponent.ts +12 -3
  92. package/lib/typescript/src/components/A11yCard/A11yCard.d.ts +5 -0
  93. package/lib/typescript/src/components/A11yCard/A11yCard.d.ts.map +1 -0
  94. package/lib/typescript/src/components/A11yCard/A11yCard.ios.d.ts +5 -0
  95. package/lib/typescript/src/components/A11yCard/A11yCard.ios.d.ts.map +1 -0
  96. package/lib/typescript/src/components/A11yCard/A11yCard.types.d.ts +14 -0
  97. package/lib/typescript/src/components/A11yCard/A11yCard.types.d.ts.map +1 -0
  98. package/lib/typescript/src/components/A11yIndex/A11yIndex.d.ts +15 -10
  99. package/lib/typescript/src/components/A11yIndex/A11yIndex.d.ts.map +1 -1
  100. package/lib/typescript/src/components/A11yIndex/A11yIndex.types.d.ts +83 -0
  101. package/lib/typescript/src/components/A11yIndex/A11yIndex.types.d.ts.map +1 -0
  102. package/lib/typescript/src/components/A11yIndex/A11yIndex.web.d.ts +14 -10
  103. package/lib/typescript/src/components/A11yIndex/A11yIndex.web.d.ts.map +1 -1
  104. package/lib/typescript/src/components/A11yLock/A11yBaseLock/A11yBaseLock.d.ts +1 -1
  105. package/lib/typescript/src/components/A11yLock/A11yBaseLock/A11yBaseLock.d.ts.map +1 -1
  106. package/lib/typescript/src/components/A11yLock/A11yFocusFrame/A11yFocusFrame.android.d.ts +1 -1
  107. package/lib/typescript/src/components/A11yLock/A11yFocusFrame/A11yFocusFrame.android.d.ts.map +1 -1
  108. package/lib/typescript/src/components/A11yLock/A11yFocusFrame/A11yFocusFrame.d.ts +2 -2
  109. package/lib/typescript/src/components/A11yLock/A11yFocusFrame/A11yFocusFrame.d.ts.map +1 -1
  110. package/lib/typescript/src/components/A11yLock/A11yFocusTrap/A11yFocusTrap.android.d.ts +1 -1
  111. package/lib/typescript/src/components/A11yLock/A11yFocusTrap/A11yFocusTrap.android.d.ts.map +1 -1
  112. package/lib/typescript/src/components/A11yLock/A11yFocusTrap/A11yFocusTrap.d.ts +2 -2
  113. package/lib/typescript/src/components/A11yLock/A11yFocusTrap/A11yFocusTrap.d.ts.map +1 -1
  114. package/lib/typescript/src/components/A11yLock/A11yLock.types.d.ts +31 -0
  115. package/lib/typescript/src/components/A11yLock/A11yLock.types.d.ts.map +1 -0
  116. package/lib/typescript/src/components/{A11ySequence/A11ySequence.d.ts → A11yOrder/A11yOrder.d.ts} +4 -2
  117. package/lib/typescript/src/components/A11yOrder/A11yOrder.d.ts.map +1 -0
  118. package/lib/typescript/src/components/A11yOrder/A11yOrder.types.d.ts +11 -0
  119. package/lib/typescript/src/components/A11yOrder/A11yOrder.types.d.ts.map +1 -0
  120. package/lib/typescript/src/components/A11yPaneTitle/A11yPaneTitle.d.ts +3 -17
  121. package/lib/typescript/src/components/A11yPaneTitle/A11yPaneTitle.d.ts.map +1 -1
  122. package/lib/typescript/src/components/A11yPaneTitle/A11yPaneTitle.types.d.ts +43 -0
  123. package/lib/typescript/src/components/A11yPaneTitle/A11yPaneTitle.types.d.ts.map +1 -0
  124. package/lib/typescript/src/components/A11yView/A11yView.d.ts +13 -6
  125. package/lib/typescript/src/components/A11yView/A11yView.d.ts.map +1 -1
  126. package/lib/typescript/src/components/A11yView/A11yView.types.d.ts +10 -0
  127. package/lib/typescript/src/components/A11yView/A11yView.types.d.ts.map +1 -0
  128. package/lib/typescript/src/index.d.ts +32 -36
  129. package/lib/typescript/src/index.d.ts.map +1 -1
  130. package/lib/typescript/src/index.web.d.ts +22 -22
  131. package/lib/typescript/src/index.web.d.ts.map +1 -1
  132. package/lib/typescript/src/nativeSpecs/A11yCardNativeComponent.d.ts +8 -0
  133. package/lib/typescript/src/nativeSpecs/A11yCardNativeComponent.d.ts.map +1 -0
  134. package/lib/typescript/src/nativeSpecs/A11yIndexNativeComponent.d.ts +10 -3
  135. package/lib/typescript/src/nativeSpecs/A11yIndexNativeComponent.d.ts.map +1 -1
  136. package/package.json +12 -11
  137. package/src/components/A11yCard/A11yCard.ios.tsx +44 -0
  138. package/src/components/A11yCard/A11yCard.tsx +35 -0
  139. package/src/components/A11yCard/A11yCard.types.ts +39 -0
  140. package/src/components/A11yIndex/A11yIndex.tsx +144 -52
  141. package/src/components/A11yIndex/A11yIndex.types.ts +102 -0
  142. package/src/components/A11yIndex/A11yIndex.web.tsx +12 -17
  143. package/src/components/A11yLock/A11yBaseLock/A11yBaseLock.tsx +1 -1
  144. package/src/components/A11yLock/A11yFocusFrame/A11yFocusFrame.android.tsx +1 -1
  145. package/src/components/A11yLock/A11yFocusFrame/A11yFocusFrame.tsx +3 -2
  146. package/src/components/A11yLock/A11yFocusTrap/A11yFocusTrap.android.tsx +1 -1
  147. package/src/components/A11yLock/A11yFocusTrap/A11yFocusTrap.tsx +2 -2
  148. package/src/components/A11yLock/A11yLock.types.ts +34 -0
  149. package/src/components/{A11ySequence/A11ySequence.tsx → A11yOrder/A11yOrder.tsx} +4 -2
  150. package/src/components/A11yOrder/A11yOrder.types.ts +11 -0
  151. package/src/components/A11yPaneTitle/A11yPaneTitle.tsx +13 -19
  152. package/src/components/A11yPaneTitle/A11yPaneTitle.types.ts +49 -0
  153. package/src/components/A11yView/A11yView.tsx +8 -63
  154. package/src/components/A11yView/A11yView.types.ts +11 -0
  155. package/src/index.ts +26 -19
  156. package/src/index.web.ts +6 -13
  157. package/{lib/module/nativeSpecs/A11yGroupNativeComponent.ts → src/nativeSpecs/A11yCardNativeComponent.ts} +3 -3
  158. package/src/nativeSpecs/A11yIndexNativeComponent.ts +12 -3
  159. package/android/src/main/java/com/a11yorder/views/A11yGroupView/A11yGroupViewManager.java +0 -25
  160. package/android/src/main/java/com/a11yorder/views/A11yUIContainerView/A11yUIContainerViewManager.java +0 -30
  161. package/android/src/main/java/com/a11yorder/views/A11yView/A11yViewManager.java +0 -67
  162. package/android/src/newarch/A11yGroupViewManagerSpec.java +0 -9
  163. package/android/src/newarch/A11yUIContainerViewManagerSpec.java +0 -8
  164. package/android/src/newarch/A11yViewSpec.java +0 -13
  165. package/android/src/oldarch/A11yGroupViewManagerSpec.java +0 -8
  166. package/android/src/oldarch/A11yUIContainerViewManagerSpec.java +0 -9
  167. package/android/src/oldarch/A11yViewSpec.java +0 -18
  168. package/ios/views/RNAOA11yGroupView/RNAOA11yGroupView.h +0 -37
  169. package/ios/views/RNAOA11yGroupView/RNAOA11yGroupView.mm +0 -67
  170. package/ios/views/RNAOA11yGroupView/RNAOA11yGroupViewManager.h +0 -18
  171. package/ios/views/RNAOA11yGroupView/RNAOA11yGroupViewManager.mm +0 -25
  172. package/ios/views/RNAOA11yUIContainerView/RNAOA11yUIContainerView.h +0 -35
  173. package/ios/views/RNAOA11yUIContainerView/RNAOA11yUIContainerView.mm +0 -79
  174. package/ios/views/RNAOA11yUIContainerView/RNAOA11yUIContainerViewManager.h +0 -18
  175. package/ios/views/RNAOA11yUIContainerView/RNAOA11yUIContainerViewManager.mm +0 -27
  176. package/ios/views/RNAOA11yView/RNAOA11yView.h +0 -45
  177. package/ios/views/RNAOA11yView/RNAOA11yViewManager.h +0 -14
  178. package/ios/views/RNAOA11yView/RNAOA11yViewManager.mm +0 -53
  179. package/lib/commonjs/components/A11yGroup/A11yGroup.android.js +0 -18
  180. package/lib/commonjs/components/A11yGroup/A11yGroup.android.js.map +0 -1
  181. package/lib/commonjs/components/A11yGroup/A11yGroup.ios.js +0 -24
  182. package/lib/commonjs/components/A11yGroup/A11yGroup.ios.js.map +0 -1
  183. package/lib/commonjs/components/A11yGroup/A11yGroup.js +0 -9
  184. package/lib/commonjs/components/A11yGroup/A11yGroup.js.map +0 -1
  185. package/lib/commonjs/components/A11ySequence/A11ySequence.js.map +0 -1
  186. package/lib/commonjs/components/A11yUIContainer/A11yUIContainer.ios.js +0 -22
  187. package/lib/commonjs/components/A11yUIContainer/A11yUIContainer.ios.js.map +0 -1
  188. package/lib/commonjs/components/A11yUIContainer/A11yUIContainer.js +0 -9
  189. package/lib/commonjs/components/A11yUIContainer/A11yUIContainer.js.map +0 -1
  190. package/lib/commonjs/nativeSpecs/A11yUIContainerNativeComponent.ts +0 -12
  191. package/lib/commonjs/nativeSpecs/A11yViewNativeComponent.ts +0 -36
  192. package/lib/commonjs/types/A11yGroup.types.js.map +0 -1
  193. package/lib/commonjs/types/A11yIndex.types.js +0 -13
  194. package/lib/commonjs/types/A11yIndex.types.js.map +0 -1
  195. package/lib/commonjs/types/A11yLock.types.js.map +0 -1
  196. package/lib/commonjs/types/A11yModule.types.js.map +0 -1
  197. package/lib/commonjs/types/A11yUIContainerView.types.js +0 -15
  198. package/lib/commonjs/types/A11yUIContainerView.types.js.map +0 -1
  199. package/lib/commonjs/types/A11yView.types.js.map +0 -1
  200. package/lib/module/components/A11yGroup/A11yGroup.android.js +0 -12
  201. package/lib/module/components/A11yGroup/A11yGroup.android.js.map +0 -1
  202. package/lib/module/components/A11yGroup/A11yGroup.ios.js +0 -18
  203. package/lib/module/components/A11yGroup/A11yGroup.ios.js.map +0 -1
  204. package/lib/module/components/A11yGroup/A11yGroup.js +0 -5
  205. package/lib/module/components/A11yGroup/A11yGroup.js.map +0 -1
  206. package/lib/module/components/A11ySequence/A11ySequence.js.map +0 -1
  207. package/lib/module/components/A11yUIContainer/A11yUIContainer.ios.js +0 -17
  208. package/lib/module/components/A11yUIContainer/A11yUIContainer.ios.js.map +0 -1
  209. package/lib/module/components/A11yUIContainer/A11yUIContainer.js +0 -5
  210. package/lib/module/components/A11yUIContainer/A11yUIContainer.js.map +0 -1
  211. package/lib/module/nativeSpecs/A11yUIContainerNativeComponent.ts +0 -12
  212. package/lib/module/nativeSpecs/A11yViewNativeComponent.ts +0 -36
  213. package/lib/module/types/A11yGroup.types.js +0 -4
  214. package/lib/module/types/A11yGroup.types.js.map +0 -1
  215. package/lib/module/types/A11yIndex.types.js +0 -9
  216. package/lib/module/types/A11yIndex.types.js.map +0 -1
  217. package/lib/module/types/A11yLock.types.js.map +0 -1
  218. package/lib/module/types/A11yModule.types.js +0 -4
  219. package/lib/module/types/A11yModule.types.js.map +0 -1
  220. package/lib/module/types/A11yUIContainerView.types.js +0 -11
  221. package/lib/module/types/A11yUIContainerView.types.js.map +0 -1
  222. package/lib/module/types/A11yView.types.js.map +0 -1
  223. package/lib/typescript/src/components/A11yGroup/A11yGroup.android.d.ts +0 -4
  224. package/lib/typescript/src/components/A11yGroup/A11yGroup.android.d.ts.map +0 -1
  225. package/lib/typescript/src/components/A11yGroup/A11yGroup.d.ts +0 -3
  226. package/lib/typescript/src/components/A11yGroup/A11yGroup.d.ts.map +0 -1
  227. package/lib/typescript/src/components/A11yGroup/A11yGroup.ios.d.ts +0 -4
  228. package/lib/typescript/src/components/A11yGroup/A11yGroup.ios.d.ts.map +0 -1
  229. package/lib/typescript/src/components/A11ySequence/A11ySequence.d.ts.map +0 -1
  230. package/lib/typescript/src/components/A11yUIContainer/A11yUIContainer.d.ts +0 -3
  231. package/lib/typescript/src/components/A11yUIContainer/A11yUIContainer.d.ts.map +0 -1
  232. package/lib/typescript/src/components/A11yUIContainer/A11yUIContainer.ios.d.ts +0 -4
  233. package/lib/typescript/src/components/A11yUIContainer/A11yUIContainer.ios.d.ts.map +0 -1
  234. package/lib/typescript/src/nativeSpecs/A11yGroupNativeComponent.d.ts +0 -8
  235. package/lib/typescript/src/nativeSpecs/A11yGroupNativeComponent.d.ts.map +0 -1
  236. package/lib/typescript/src/nativeSpecs/A11yUIContainerNativeComponent.d.ts +0 -10
  237. package/lib/typescript/src/nativeSpecs/A11yUIContainerNativeComponent.d.ts.map +0 -1
  238. package/lib/typescript/src/nativeSpecs/A11yViewNativeComponent.d.ts +0 -26
  239. package/lib/typescript/src/nativeSpecs/A11yViewNativeComponent.d.ts.map +0 -1
  240. package/lib/typescript/src/types/A11yGroup.types.d.ts +0 -7
  241. package/lib/typescript/src/types/A11yGroup.types.d.ts.map +0 -1
  242. package/lib/typescript/src/types/A11yIndex.types.d.ts +0 -19
  243. package/lib/typescript/src/types/A11yIndex.types.d.ts.map +0 -1
  244. package/lib/typescript/src/types/A11yLock.types.d.ts +0 -8
  245. package/lib/typescript/src/types/A11yLock.types.d.ts.map +0 -1
  246. package/lib/typescript/src/types/A11yModule.types.d.ts +0 -7
  247. package/lib/typescript/src/types/A11yModule.types.d.ts.map +0 -1
  248. package/lib/typescript/src/types/A11yUIContainerView.types.d.ts +0 -13
  249. package/lib/typescript/src/types/A11yUIContainerView.types.d.ts.map +0 -1
  250. package/lib/typescript/src/types/A11yView.types.d.ts +0 -12
  251. package/lib/typescript/src/types/A11yView.types.d.ts.map +0 -1
  252. package/src/components/A11yGroup/A11yGroup.android.tsx +0 -8
  253. package/src/components/A11yGroup/A11yGroup.ios.tsx +0 -11
  254. package/src/components/A11yGroup/A11yGroup.tsx +0 -5
  255. package/src/components/A11yUIContainer/A11yUIContainer.ios.tsx +0 -20
  256. package/src/components/A11yUIContainer/A11yUIContainer.tsx +0 -5
  257. package/src/nativeSpecs/A11yUIContainerNativeComponent.ts +0 -12
  258. package/src/nativeSpecs/A11yViewNativeComponent.ts +0 -36
  259. package/src/types/A11yGroup.types.ts +0 -9
  260. package/src/types/A11yIndex.types.ts +0 -21
  261. package/src/types/A11yLock.types.ts +0 -8
  262. package/src/types/A11yModule.types.ts +0 -7
  263. package/src/types/A11yUIContainerView.types.ts +0 -15
  264. package/src/types/A11yView.types.ts +0 -19
  265. /package/lib/commonjs/{types → components/A11yLock}/A11yLock.types.js +0 -0
  266. /package/lib/commonjs/{types → components/A11yView}/A11yView.types.js +0 -0
  267. /package/lib/module/{types → components/A11yLock}/A11yLock.types.js +0 -0
  268. /package/lib/module/{types → components/A11yView}/A11yView.types.js +0 -0
@@ -1,9 +1,6 @@
1
1
  import React from 'react';
2
2
  import { forwardRef, useImperativeHandle, useRef } from 'react';
3
- import type {
4
- IndexCommands,
5
- A11yIndexProps,
6
- } from '../../types/A11yIndex.types';
3
+ import type { A11yIndexProps } from './A11yIndex.types';
7
4
  import { UIManager } from 'react-native';
8
5
  import { View } from 'react-native';
9
6
 
@@ -11,17 +8,15 @@ const WebUiManager = UIManager as unknown as {
11
8
  focus: (v: View) => void;
12
9
  };
13
10
 
14
- export const A11yIndex = forwardRef<IndexCommands, A11yIndexProps>(
15
- (props, ref) => {
16
- const viewRef = useRef<View>(null);
17
- useImperativeHandle(ref, () => ({
18
- focus: () => {
19
- if (viewRef.current) {
20
- WebUiManager.focus(viewRef.current);
21
- }
22
- },
23
- }));
11
+ export const A11yIndex = forwardRef<{}, A11yIndexProps>((props, ref) => {
12
+ const viewRef = useRef<View>(null);
13
+ useImperativeHandle(ref, () => ({
14
+ focus: () => {
15
+ if (viewRef.current) {
16
+ WebUiManager.focus(viewRef.current);
17
+ }
18
+ },
19
+ }));
24
20
 
25
- return <View {...props} ref={viewRef as any} />;
26
- }
27
- );
21
+ return <View {...props} ref={viewRef as any} />;
22
+ });
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import A11yLockNativeComponent from '../../../nativeSpecs/A11yLockNativeComponent';
3
- import type { A11yLockProps } from '../../../types/A11yLock.types';
3
+ import type { A11yLockProps } from '../A11yLock.types';
4
4
 
5
5
  export const A11yBaseLock = React.memo<A11yLockProps>(
6
6
  ({
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { A11yLockProps } from '../../../types/A11yLock.types';
2
+ import type { A11yLockProps } from '../A11yLock.types';
3
3
  import { A11yBaseLock } from '../A11yBaseLock/A11yBaseLock';
4
4
  import { A11yFrameProvider } from '../../../context/A11yFocusFrameProviderContext';
5
5
 
@@ -1,8 +1,9 @@
1
1
  import React from 'react';
2
- import { View, type ViewProps } from 'react-native';
2
+ import { View } from 'react-native';
3
3
  import { A11yFrameProvider } from '../../../context/A11yFocusFrameProviderContext';
4
+ import type { A11yFocusFrameProps } from '../A11yLock.types';
4
5
 
5
- export const A11yFocusFrame = (props: ViewProps) => (
6
+ export const A11yFocusFrame = (props: A11yFocusFrameProps) => (
6
7
  <A11yFrameProvider>
7
8
  <View {...props} />
8
9
  </A11yFrameProvider>
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import type { A11yLockProps } from '../../../types/A11yLock.types';
2
+ import type { A11yLockProps } from '../A11yLock.types';
3
3
  import { A11yBaseLock } from '../A11yBaseLock/A11yBaseLock';
4
4
  import { A11yFocusTrapMountWrapper } from './A11yFocusTrapMountWrapper';
5
5
 
@@ -1,13 +1,13 @@
1
1
  import React from 'react';
2
2
  import { View } from 'react-native';
3
- import type { A11yLockProps } from '../../../types/A11yLock.types';
3
+ import type { A11yFocusTrapProps } from '../A11yLock.types';
4
4
  import { A11yFocusTrapMountWrapper } from './A11yFocusTrapMountWrapper';
5
5
  import { A11yBaseLock } from '../A11yBaseLock/A11yBaseLock';
6
6
 
7
7
  export const A11yFocusTrap = ({
8
8
  forceLock = false,
9
9
  ...props
10
- }: A11yLockProps) => {
10
+ }: A11yFocusTrapProps) => {
11
11
  if (forceLock) {
12
12
  return (
13
13
  <A11yFocusTrapMountWrapper>
@@ -0,0 +1,34 @@
1
+ import type { ViewProps } from 'react-native';
2
+
3
+ /**
4
+ * Props for {@link A11y.FocusTrap} — confines VoiceOver / TalkBack focus to this subtree.
5
+ * Useful for modals, bottom sheets, and overlays where focus must not leak out.
6
+ */
7
+ export type A11yFocusTrapProps = ViewProps & {
8
+ /**
9
+ * When `true`, the focus trap is inactive — the screen reader can navigate freely
10
+ * outside this container. Defaults to `false`.
11
+ */
12
+ lockDisabled?: boolean;
13
+
14
+ /**
15
+ * When `true`, focus is trapped immediately on mount rather than waiting for
16
+ * the next accessibility navigation gesture. Use for programmatically-opened modals.
17
+ * Defaults to `false`.
18
+ */
19
+ forceLock?: boolean;
20
+ };
21
+
22
+ /**
23
+ * Props for {@link A11y.FocusFrame} — detects when screen reader focus escapes
24
+ * this subtree, enabling focus-leak detection in complex UIs.
25
+ */
26
+ export type A11yFocusFrameProps = ViewProps;
27
+
28
+ /** @internal Full props accepted by the native lock component. Not part of the public API. */
29
+ export type A11yLockProps = ViewProps & {
30
+ componentType?: number;
31
+ containerKey?: string;
32
+ lockDisabled?: boolean;
33
+ forceLock?: boolean;
34
+ };
@@ -1,9 +1,11 @@
1
1
  import React from 'react';
2
- import type { ViewProps } from 'react-native';
3
2
  import { A11ySequenceOrderContext } from '../../context/A11ySequenceOrderContext';
4
3
  import A11yOrderNativeComponent from '../../nativeSpecs/A11yOrderNativeComponent';
4
+ import type { A11yOrderProps } from './A11yOrder.types';
5
5
 
6
- export const A11yIndexSequence = React.memo<ViewProps>((props) => {
6
+ export type { A11yOrderProps };
7
+
8
+ export const A11yOrder = React.memo<A11yOrderProps>((props) => {
7
9
  const orderKey = React.useId();
8
10
  return (
9
11
  <A11ySequenceOrderContext.Provider value={orderKey}>
@@ -0,0 +1,11 @@
1
+ import type { ViewProps } from 'react-native';
2
+
3
+ /**
4
+ * Props for {@link A11y.Order} — a container that defines an explicit screen reader
5
+ * focus sequence for its `A11y.Index` children.
6
+ *
7
+ * All standard `View` props are accepted and forwarded to the underlying native view.
8
+ * The `orderKey` that links child `A11y.Index` elements to this container is generated
9
+ * internally via `React.useId` and requires no prop.
10
+ */
11
+ export type A11yOrderProps = ViewProps;
@@ -1,22 +1,16 @@
1
1
  import React from 'react';
2
- import { type ViewProps } from 'react-native';
3
2
  import A11yPaneTitleNative from '../../nativeSpecs/A11yPaneTitleNativeComponent';
3
+ import type {
4
+ A11yPaneTitleProps,
5
+ A11yPaneType,
6
+ A11yScreenChangeProps,
7
+ } from './A11yPaneTitle.types';
4
8
 
5
- enum PaneEnum {
6
- activity = 0,
7
- pane = 1,
8
- announce = 2,
9
- }
10
-
11
- type PaneType = keyof typeof PaneEnum;
12
-
13
- type A11yPaneTitleType = React.PropsWithChildren<{
14
- title?: string;
15
- detachMessage?: string;
16
- type?: PaneType;
17
- withFocusRestore?: boolean;
18
- displayed?: boolean;
19
- }>;
9
+ const PaneTypeValue: Record<A11yPaneType, number> = {
10
+ activity: 0,
11
+ pane: 1,
12
+ announce: 2,
13
+ };
20
14
 
21
15
  export const A11yPaneTitle = ({
22
16
  title,
@@ -25,21 +19,21 @@ export const A11yPaneTitle = ({
25
19
  children,
26
20
  displayed,
27
21
  withFocusRestore = true,
28
- }: ViewProps & A11yPaneTitleType) => {
22
+ }: A11yPaneTitleProps) => {
29
23
  if (displayed === false) return null;
30
24
 
31
25
  return (
32
26
  <A11yPaneTitleNative
33
27
  title={title}
34
28
  detachMessage={detachMessage}
35
- type={PaneEnum[type]}
29
+ type={PaneTypeValue[type]}
36
30
  children={children}
37
31
  withFocusRestore={withFocusRestore}
38
32
  />
39
33
  );
40
34
  };
41
35
 
42
- export const A11yScreenChange = (props: Omit<A11yPaneTitleType, 'type'>) => (
36
+ export const A11yScreenChange = (props: A11yScreenChangeProps) => (
43
37
  <A11yPaneTitle
44
38
  title={props.title}
45
39
  detachMessage={props.detachMessage}
@@ -0,0 +1,49 @@
1
+ import React from 'react';
2
+
3
+ /**
4
+ * Controls the native accessibility announcement mechanism.
5
+ *
6
+ * - `'pane'` — layout-changed notification with a title (default, use for panels/sheets)
7
+ * - `'activity'` — screen-change notification (use for full-screen transitions)
8
+ * - `'announce'` — plain announcement with no focus shift (use for status updates)
9
+ */
10
+ export type A11yPaneType = 'activity' | 'pane' | 'announce';
11
+
12
+ /**
13
+ * Props for {@link A11y.PaneTitle} — announces a screen or panel transition to
14
+ * VoiceOver / TalkBack and optionally restores focus when the view unmounts.
15
+ */
16
+ export type A11yPaneTitleProps = React.PropsWithChildren<{
17
+ /** The title announced to the screen reader when this component mounts. */
18
+ title?: string;
19
+
20
+ /** A message announced when this component unmounts, e.g. `"Drawer closed"`. */
21
+ detachMessage?: string;
22
+
23
+ /**
24
+ * Controls the native announcement type. Defaults to `'pane'`.
25
+ *
26
+ * - `'pane'` — layout-changed notification with a title
27
+ * - `'activity'` — screen-change notification for full-screen transitions
28
+ * - `'announce'` — plain announcement, no focus shift
29
+ */
30
+ type?: A11yPaneType;
31
+
32
+ /**
33
+ * When `true` (default), VoiceOver / TalkBack restores focus to the previously
34
+ * focused element when this component unmounts.
35
+ */
36
+ withFocusRestore?: boolean;
37
+
38
+ /**
39
+ * When `false`, the component renders nothing and posts no announcement.
40
+ * Use to conditionally suppress the view without unmounting the subtree.
41
+ */
42
+ displayed?: boolean;
43
+ }>;
44
+
45
+ /**
46
+ * Props for {@link A11y.ScreenChange} — shorthand for `A11y.PaneTitle` with
47
+ * `type="activity"` pre-set for full-screen navigation transitions.
48
+ */
49
+ export type A11yScreenChangeProps = Omit<A11yPaneTitleProps, 'type'>;
@@ -1,63 +1,8 @@
1
- import React from 'react';
2
- import A11yViewNativeComponent from '../../nativeSpecs/A11yViewNativeComponent';
3
- import type { A11yViewProps } from '../../types/A11yView.types';
4
-
5
- // Unknown ref type for better react-native support
6
- type ViewRefType = {};
7
-
8
- export const A11yView = React.memo(
9
- React.forwardRef<ViewRefType, A11yViewProps>(
10
- (
11
- {
12
- onScreenReaderFocused,
13
- onScreenReaderSubViewFocusChange,
14
- onScreenReaderSubViewFocused,
15
- onScreenReaderSubViewBlurred,
16
- onScreenReaderDescendantFocusChanged,
17
- ...props
18
- },
19
- ref
20
- ) => {
21
- const hasHandler = Boolean(
22
- onScreenReaderSubViewBlurred ||
23
- onScreenReaderSubViewFocused ||
24
- onScreenReaderSubViewFocusChange
25
- );
26
-
27
- const onScreenReaderChangeHandler = React.useCallback(
28
- (event: { nativeEvent: { isFocused: boolean } }) => {
29
- onScreenReaderSubViewFocusChange?.(event.nativeEvent.isFocused);
30
- if (event.nativeEvent.isFocused) {
31
- onScreenReaderSubViewFocused?.();
32
- } else {
33
- onScreenReaderSubViewBlurred?.();
34
- }
35
- },
36
- [
37
- onScreenReaderSubViewFocusChange,
38
- onScreenReaderSubViewBlurred,
39
- onScreenReaderSubViewFocused,
40
- ]
41
- );
42
-
43
- const onScreenReaderHandlerProp = hasHandler
44
- ? onScreenReaderChangeHandler
45
- : undefined;
46
-
47
- return (
48
- <A11yViewNativeComponent
49
- {...props}
50
- ref={ref as React.Ref<any>}
51
- descendantFocusChangedEnabled={Boolean(
52
- onScreenReaderDescendantFocusChanged
53
- )}
54
- onScreenReaderFocused={onScreenReaderFocused}
55
- onScreenReaderFocusChange={onScreenReaderHandlerProp}
56
- onScreenReaderDescendantFocusChanged={
57
- onScreenReaderDescendantFocusChanged
58
- }
59
- />
60
- );
61
- }
62
- )
63
- );
1
+ import { A11yIndex } from '../A11yIndex/A11yIndex';
2
+
3
+ /**
4
+ * Standalone focus-tracking view with no ordering context.
5
+ * Use when you need screen reader focus events but no position in a sequence.
6
+ * For ordered elements, use {@link A11yIndex} inside an Order container.
7
+ */
8
+ export const A11yView = A11yIndex;
@@ -0,0 +1,11 @@
1
+ import type { A11yIndexProps } from '../A11yIndex/A11yIndex.types';
2
+
3
+ export type { ScreenReaderDescendantFocusChangedEvent } from '../A11yIndex/A11yIndex.types';
4
+
5
+ /**
6
+ * Props for {@link A11y.View} — a standalone focus-tracking view with no ordering context.
7
+ *
8
+ * All screen reader focus events from {@link A11yIndexProps} are available.
9
+ * `index` and `orderType` are omitted because they only apply inside an `A11y.Order` sequence.
10
+ */
11
+ export type A11yViewProps = Omit<A11yIndexProps, 'index' | 'orderType'>;
package/src/index.ts CHANGED
@@ -1,7 +1,5 @@
1
1
  import { A11yIndex } from './components/A11yIndex/A11yIndex';
2
- import { A11yIndexSequence } from './components/A11ySequence/A11ySequence';
3
- import { A11yGroup } from './components/A11yGroup/A11yGroup';
4
- import { A11yUIContainer } from './components/A11yUIContainer/A11yUIContainer';
2
+ import { A11yOrder } from './components/A11yOrder/A11yOrder';
5
3
  import {
6
4
  A11yPaneTitle,
7
5
  A11yScreenChange,
@@ -9,34 +7,43 @@ import {
9
7
  import { A11yView } from './components/A11yView/A11yView';
10
8
  import { A11yFocusFrame } from './components/A11yLock/A11yFocusFrame/A11yFocusFrame';
11
9
  import { A11yFocusTrap } from './components/A11yLock/A11yFocusTrap/A11yFocusTrap';
10
+ import { A11yCard } from './components/A11yCard/A11yCard';
12
11
 
12
+ // ─── Component props ──────────────────────────────────────────────────────────
13
+
14
+ export type { A11yCardProps } from './components/A11yCard/A11yCard.types';
15
+ export type { A11yOrderProps } from './components/A11yOrder/A11yOrder.types';
13
16
  export type {
14
- IndexCommands,
15
- A11yOrderType,
16
- A11yOrderTypeEnum,
17
17
  A11yIndexProps,
18
- } from './types/A11yIndex.types';
19
-
18
+ A11yOrderType,
19
+ IndexCommands,
20
+ } from './components/A11yIndex/A11yIndex.types';
21
+ export { A11yOrderTypeEnum } from './components/A11yIndex/A11yIndex.types';
20
22
  export type {
21
- A11yContainerTypeEnum,
22
- A11yUIContainerType,
23
- A11yUIContainerProps,
24
- } from './types/A11yUIContainerView.types';
25
-
26
- export type { ScreenReaderDescendantFocusChangedEvent } from './types/A11yView.types';
23
+ A11yViewProps,
24
+ ScreenReaderDescendantFocusChangedEvent,
25
+ } from './components/A11yView/A11yView.types';
26
+ export type {
27
+ A11yFocusTrapProps,
28
+ A11yFocusFrameProps,
29
+ } from './components/A11yLock/A11yLock.types';
30
+ export type {
31
+ A11yPaneTitleProps,
32
+ A11yScreenChangeProps,
33
+ A11yPaneType,
34
+ } from './components/A11yPaneTitle/A11yPaneTitle.types';
27
35
 
28
- export type { A11yViewProps } from './types/A11yView.types';
36
+ // ─── Namespace ────────────────────────────────────────────────────────────────
29
37
 
30
38
  export const A11y = {
31
- Order: A11yIndexSequence,
39
+ Order: A11yOrder,
32
40
  Index: A11yIndex,
33
- Group: A11yGroup,
34
- Container: A11yUIContainer,
41
+ View: A11yView,
35
42
  PaneTitle: A11yPaneTitle,
36
43
  ScreenChange: A11yScreenChange,
37
- View: A11yView,
38
44
  FocusFrame: A11yFocusFrame,
39
45
  FocusTrap: A11yFocusTrap,
46
+ Card: A11yCard,
40
47
  };
41
48
 
42
49
  export { A11yModule } from './modules/A11yAnnounceModule';
package/src/index.web.ts CHANGED
@@ -4,30 +4,23 @@ import { View } from 'react-native';
4
4
  export type {
5
5
  IndexCommands,
6
6
  A11yOrderType,
7
- A11yOrderTypeEnum,
8
7
  A11yIndexProps,
9
- } from './types/A11yIndex.types';
8
+ } from './components/A11yIndex/A11yIndex.types';
9
+ export { A11yOrderTypeEnum } from './components/A11yIndex/A11yIndex.types';
10
10
 
11
- export type {
12
- A11yContainerTypeEnum,
13
- A11yUIContainerType,
14
- A11yUIContainerProps,
15
- } from './types/A11yUIContainerView.types';
16
-
17
- export type { ScreenReaderDescendantFocusChangedEvent } from './types/A11yView.types';
11
+ export type { ScreenReaderDescendantFocusChangedEvent } from './components/A11yView/A11yView.types';
18
12
 
19
- export type { A11yViewProps } from './types/A11yView.types';
13
+ export type { A11yViewProps } from './components/A11yView/A11yView.types';
20
14
 
21
15
  export const A11y = {
22
16
  Order: View,
23
- Group: View,
24
17
  Index: A11yIndex,
25
- Container: View,
18
+ View: View,
26
19
  PaneTitle: View,
27
20
  ScreenChange: View,
28
- View: View,
29
21
  FocusFrame: View,
30
22
  FocusTrap: View,
23
+ Card: View,
31
24
  };
32
25
 
33
26
  export { A11yModule } from './modules/A11yAnnounceModule';
@@ -2,8 +2,8 @@ import type { ViewProps } from 'react-native';
2
2
  // eslint-disable-next-line @react-native/no-deep-imports
3
3
  import codegenNativeComponent from 'react-native/Libraries/Utilities/codegenNativeComponent';
4
4
 
5
- export interface A11yGroupNativeComponentProps extends ViewProps {}
5
+ export interface A11yCardNativeComponentProps extends ViewProps {}
6
6
 
7
- export default codegenNativeComponent<A11yGroupNativeComponentProps>(
8
- 'A11yGroupView'
7
+ export default codegenNativeComponent<A11yCardNativeComponentProps>(
8
+ 'A11yCardView'
9
9
  );
@@ -15,14 +15,23 @@ export type ScreenReaderFocusChange = Readonly<{
15
15
 
16
16
  export type ScreenReaderDescendantFocusChanged = Readonly<{
17
17
  status: string;
18
+ nativeId?: string;
18
19
  }>;
19
20
 
20
21
  export interface A11yIndexNativeComponentProps extends ViewProps {
21
- orderIndex: Int32;
22
- orderKey: string;
23
- orderFocusType: Int32;
22
+ orderIndex?: Int32;
23
+ orderKey?: string;
24
+ orderFocusType?: Int32;
25
+ shouldGroupAccessibilityChildren?: Int32;
24
26
 
27
+ autoFocus?: boolean;
28
+ descendantFocusChangedEnabled?: boolean;
29
+
30
+ onScreenReaderFocused?: DirectEventHandler<{}>;
31
+ onScreenReaderDescendantFocusChanged?: DirectEventHandler<ScreenReaderDescendantFocusChanged>;
25
32
  onScreenReaderFocusChange?: DirectEventHandler<ScreenReaderFocusChange>;
33
+
34
+ containerType?: Int32;
26
35
  }
27
36
 
28
37
  export interface NativeCommands {
@@ -1,25 +0,0 @@
1
- package com.a11yorder.views.A11yGroupView;
2
-
3
- import android.view.ViewGroup;
4
-
5
- import androidx.annotation.NonNull;
6
-
7
- import com.a11yorder.A11yGroupViewManagerSpec;
8
- import com.facebook.react.uimanager.ThemedReactContext;
9
- import com.facebook.react.views.view.ReactViewGroup;
10
-
11
- public class A11yGroupViewManager extends A11yGroupViewManagerSpec<ViewGroup> {
12
- public static final String REACT_CLASS = "A11yGroupView";
13
-
14
- @NonNull
15
- @Override
16
- public String getName() {
17
- return REACT_CLASS;
18
- }
19
-
20
- @NonNull
21
- @Override
22
- protected ReactViewGroup createViewInstance(@NonNull ThemedReactContext context) {
23
- return new ReactViewGroup(context);
24
- }
25
- }
@@ -1,30 +0,0 @@
1
- package com.a11yorder.views.A11yUIContainerView;
2
-
3
- import android.view.ViewGroup;
4
-
5
- import androidx.annotation.NonNull;
6
-
7
- import com.a11yorder.A11yUIContainerViewManagerSpec;
8
- import com.facebook.react.uimanager.ThemedReactContext;
9
- import com.facebook.react.views.view.ReactViewGroup;
10
-
11
- public class A11yUIContainerViewManager extends A11yUIContainerViewManagerSpec<ViewGroup> {
12
- public static final String REACT_CLASS = "A11yUIContainer";
13
-
14
- @NonNull
15
- @Override
16
- public String getName() {
17
- return REACT_CLASS;
18
- }
19
-
20
- @NonNull
21
- @Override
22
- protected ReactViewGroup createViewInstance(@NonNull ThemedReactContext context) {
23
- return new ReactViewGroup(context);
24
- }
25
-
26
- @Override
27
- public void setContainerType(ViewGroup view, int value) {
28
- //stub
29
- }
30
- }
@@ -1,67 +0,0 @@
1
- package com.a11yorder.views.A11yView;
2
-
3
- import com.a11yorder.events.EventHelper;
4
- import com.a11yorder.events.ScreenReaderDescendantFocusChangedEvent;
5
- import com.a11yorder.events.ScreenReaderFocusChangedEvent;
6
- import com.a11yorder.events.ScreenReaderFocusedEvent;
7
- import com.facebook.react.bridge.ReadableArray;
8
- import com.facebook.react.module.annotations.ReactModule;
9
- import com.facebook.react.uimanager.ThemedReactContext;
10
- import com.facebook.react.uimanager.annotations.ReactProp;
11
-
12
- import java.util.HashMap;
13
- import java.util.Map;
14
-
15
- import javax.annotation.Nullable;
16
-
17
- @ReactModule(name = A11yViewManager.NAME)
18
- public class A11yViewManager extends com.a11yorder.A11yViewSpec<A11yView> {
19
- public static final String NAME = "A11yView";
20
-
21
- @Override
22
- public String getName() {
23
- return NAME;
24
- }
25
-
26
- @Override
27
- public A11yView createViewInstance(ThemedReactContext context) {
28
- return new A11yView(context);
29
- }
30
-
31
- @Override
32
- public void receiveCommand(A11yView view, String commandId, @Nullable ReadableArray args) {
33
- switch (commandId) {
34
- case "focus": {
35
- this.focus(view);
36
- }
37
- }
38
- }
39
-
40
- @Override
41
- @ReactProp(name = "autoFocus")
42
- public void setAutoFocus(A11yView view, boolean value) {
43
- view.setAutoFocus(value);
44
- }
45
-
46
- @Override
47
- public void setDescendantFocusChangedEnabled(A11yView view, boolean value) {
48
- //stub
49
- }
50
-
51
- @Override
52
- public void focus(A11yView view) {
53
- view.focus();
54
- }
55
-
56
- @Nullable
57
- @Override
58
- public Map<String, Object> getExportedCustomDirectEventTypeConstants() {
59
- Map<String, Object> export = new HashMap<>();
60
-
61
- export.put(ScreenReaderFocusedEvent.EVENT_NAME, EventHelper.buildDirectEventMap("onScreenReaderFocused"));
62
- export.put(ScreenReaderFocusChangedEvent.EVENT_NAME, EventHelper.buildDirectEventMap("onScreenReaderFocusChange"));
63
- export.put(ScreenReaderDescendantFocusChangedEvent.EVENT_NAME, EventHelper.buildDirectEventMap("onScreenReaderDescendantFocusChanged"));
64
-
65
- return export;
66
- }
67
- }
@@ -1,9 +0,0 @@
1
- package com.a11yorder;
2
-
3
- import android.view.ViewGroup;
4
-
5
- import com.facebook.react.uimanager.ViewGroupManager;
6
- import com.facebook.react.viewmanagers.A11yGroupViewManagerInterface;
7
-
8
- public abstract class A11yGroupViewManagerSpec<T extends ViewGroup> extends ViewGroupManager<T> implements A11yGroupViewManagerInterface<T> {
9
- }
@@ -1,8 +0,0 @@
1
- package com.a11yorder;
2
-
3
- import android.view.ViewGroup;
4
-
5
- import com.facebook.react.uimanager.ViewGroupManager;
6
- import com.facebook.react.viewmanagers.A11yUIContainerManagerInterface;
7
- public abstract class A11yUIContainerViewManagerSpec<T extends ViewGroup> extends ViewGroupManager<T> implements A11yUIContainerManagerInterface<T> {
8
- }
@@ -1,13 +0,0 @@
1
- package com.a11yorder;
2
-
3
- import android.view.ViewGroup;
4
-
5
- import com.facebook.react.bridge.ReadableArray;
6
- import com.facebook.react.viewmanagers.A11yViewManagerInterface;
7
- import com.facebook.react.views.view.ReactViewManager;
8
-
9
- import javax.annotation.Nullable;
10
-
11
- public abstract class A11yViewSpec<T extends ViewGroup> extends ReactViewManager implements A11yViewManagerInterface<T> {
12
- public abstract void receiveCommand(T view, String commandId, @Nullable ReadableArray args);
13
- }