react-native-a11y-order 0.11.0 → 2.0.0-rc

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 (206) hide show
  1. package/README.md +1 -1
  2. package/android/build.gradle +33 -88
  3. package/android/src/main/AndroidManifest.xml +1 -2
  4. package/android/src/{newarch → main/java/com/a11yorder}/A11yIndexViewManagerSpec.java +0 -7
  5. package/android/src/{newarch → main/java/com/a11yorder}/A11yLockViewManagerSpec.java +0 -1
  6. package/android/src/main/java/com/a11yorder/A11yOrderPackage.java +19 -25
  7. package/android/src/{newarch → main/java/com/a11yorder}/A11yOrderViewManagerSpec.java +0 -5
  8. package/ios/extensions/RCTModalHostViewComponentView+RNAOA11yOrder.h +1 -10
  9. package/ios/extensions/RCTModalHostViewComponentView+RNAOA11yOrder.mm +0 -34
  10. package/ios/extensions/UIView+RNAOA11yOrder.mm +0 -8
  11. package/ios/helpers/RNAOFabricEventHelper/RNAOFabricEventHelper.h +0 -2
  12. package/ios/helpers/RNAOFabricEventHelper/RNAOFabricEventHelper.mm +0 -3
  13. package/ios/modules/RNAOA11yAnnounceModule.h +0 -20
  14. package/ios/modules/RNAOA11yAnnounceModule.mm +0 -18
  15. package/ios/views/RNAOA11yCardView/RNAOA11yCardView.h +0 -9
  16. package/ios/views/RNAOA11yCardView/RNAOA11yCardView.mm +11 -15
  17. package/ios/views/RNAOA11yIndexView/RNAOA11yIndexView.mm +1 -5
  18. package/ios/views/RNAOA11yLockView/RNAOA11yLockView.h +0 -12
  19. package/ios/views/RNAOA11yLockView/RNAOA11yLockView.mm +1 -11
  20. package/ios/views/RNAOA11yOrderView/RNAOA11yOrderView.h +0 -14
  21. package/ios/views/RNAOA11yOrderView/RNAOA11yOrderView.mm +2 -22
  22. package/ios/views/RNAOA11yPaneTitleView/RNAOA11yPaneTitleView.h +0 -16
  23. package/ios/views/RNAOA11yPaneTitleView/RNAOA11yPaneTitleView.mm +4 -11
  24. package/ios/views/base/RNAOA11yGroupChildrenView.h +0 -4
  25. package/ios/views/base/RNAOA11yManagedFocusView.h +0 -11
  26. package/ios/views/base/RNAOA11yManagedFocusView.mm +0 -43
  27. package/ios/views/base/RNAOA11yScreenReaderView.h +0 -7
  28. package/ios/views/base/RNAOA11yScreenReaderView.mm +0 -2
  29. package/ios/views/base/RNAOA11yViewGroup.h +0 -14
  30. package/ios/views/base/RNAOA11yViewOrder.h +0 -16
  31. package/ios/views/base/RNAOA11yViewOrder.mm +0 -26
  32. package/lib/module/components/A11yCard/A11yCard.ios.js +0 -1
  33. package/lib/module/components/A11yCard/A11yCard.ios.js.map +1 -1
  34. package/lib/module/components/A11yCard/A11yCard.js +0 -1
  35. package/lib/module/components/A11yCard/A11yCard.js.map +1 -1
  36. package/lib/module/components/A11yIndex/A11yIndex.js +2 -3
  37. package/lib/module/components/A11yIndex/A11yIndex.js.map +1 -1
  38. package/lib/module/components/A11yIndex/A11yIndex.web.js +0 -1
  39. package/lib/module/components/A11yIndex/A11yIndex.web.js.map +1 -1
  40. package/lib/module/components/A11yLock/A11yFocusFrame/A11yFocusFrame.android.js +2 -2
  41. package/lib/module/components/A11yLock/A11yFocusFrame/A11yFocusFrame.android.js.map +1 -1
  42. package/lib/module/components/A11yLock/A11yFocusFrame/A11yFocusFrame.js +1 -2
  43. package/lib/module/components/A11yLock/A11yFocusFrame/A11yFocusFrame.js.map +1 -1
  44. package/lib/module/components/A11yLock/A11yFocusTrap/A11yFocusTrap.android.js +2 -2
  45. package/lib/module/components/A11yLock/A11yFocusTrap/A11yFocusTrap.android.js.map +1 -1
  46. package/lib/module/components/A11yLock/A11yFocusTrap/A11yFocusTrap.js +2 -3
  47. package/lib/module/components/A11yLock/A11yFocusTrap/A11yFocusTrap.js.map +1 -1
  48. package/lib/module/components/A11yLock/A11yFocusTrap/A11yFocusTrapMountWrapper.js +1 -1
  49. package/lib/module/components/A11yLock/A11yFocusTrap/A11yFocusTrapMountWrapper.js.map +1 -1
  50. package/lib/module/components/A11yOrder/A11yOrder.js +1 -1
  51. package/lib/module/components/A11yOrder/A11yOrder.js.map +1 -1
  52. package/lib/module/components/A11yPaneTitle/A11yPaneTitle.js +0 -1
  53. package/lib/module/components/A11yPaneTitle/A11yPaneTitle.js.map +1 -1
  54. package/lib/module/index.js +4 -4
  55. package/lib/module/index.js.map +1 -1
  56. package/lib/module/index.web.js +1 -1
  57. package/lib/module/index.web.js.map +1 -1
  58. package/lib/module/modules/A11yAnnounceModule.js +4 -18
  59. package/lib/module/modules/A11yAnnounceModule.js.map +1 -1
  60. package/lib/module/nativeSpecs/A11yCardNativeComponent.ts +6 -4
  61. package/lib/module/nativeSpecs/A11yIndexNativeComponent.ts +15 -17
  62. package/lib/module/nativeSpecs/A11yLockNativeComponent.ts +10 -6
  63. package/lib/module/nativeSpecs/A11yOrderNativeComponent.ts +6 -4
  64. package/lib/module/nativeSpecs/A11yPaneTitleNativeComponent.ts +10 -6
  65. package/lib/module/nativeSpecs/NativeA11yAnnounceModule.js +1 -1
  66. package/lib/module/nativeSpecs/NativeA11yAnnounceModule.js.map +1 -1
  67. package/lib/module/package.json +1 -0
  68. package/lib/typescript/package.json +1 -0
  69. package/lib/typescript/src/components/A11yCard/A11yCard.d.ts +2 -3
  70. package/lib/typescript/src/components/A11yCard/A11yCard.d.ts.map +1 -1
  71. package/lib/typescript/src/components/A11yCard/A11yCard.ios.d.ts +2 -3
  72. package/lib/typescript/src/components/A11yCard/A11yCard.ios.d.ts.map +1 -1
  73. package/lib/typescript/src/components/A11yIndex/A11yIndex.d.ts +5 -5
  74. package/lib/typescript/src/components/A11yIndex/A11yIndex.d.ts.map +1 -1
  75. package/lib/typescript/src/components/A11yIndex/A11yIndex.web.d.ts +5 -6
  76. package/lib/typescript/src/components/A11yIndex/A11yIndex.web.d.ts.map +1 -1
  77. package/lib/typescript/src/components/A11yLock/A11yBaseLock/A11yBaseLock.d.ts +1 -1
  78. package/lib/typescript/src/components/A11yLock/A11yBaseLock/A11yBaseLock.d.ts.map +1 -1
  79. package/lib/typescript/src/components/A11yLock/A11yFocusFrame/A11yFocusFrame.android.d.ts +1 -1
  80. package/lib/typescript/src/components/A11yLock/A11yFocusFrame/A11yFocusFrame.android.d.ts.map +1 -1
  81. package/lib/typescript/src/components/A11yLock/A11yFocusFrame/A11yFocusFrame.d.ts +2 -3
  82. package/lib/typescript/src/components/A11yLock/A11yFocusFrame/A11yFocusFrame.d.ts.map +1 -1
  83. package/lib/typescript/src/components/A11yLock/A11yFocusTrap/A11yFocusTrap.android.d.ts +1 -1
  84. package/lib/typescript/src/components/A11yLock/A11yFocusTrap/A11yFocusTrap.android.d.ts.map +1 -1
  85. package/lib/typescript/src/components/A11yLock/A11yFocusTrap/A11yFocusTrap.d.ts +2 -3
  86. package/lib/typescript/src/components/A11yLock/A11yFocusTrap/A11yFocusTrap.d.ts.map +1 -1
  87. package/lib/typescript/src/components/A11yOrder/A11yOrder.d.ts +1 -1
  88. package/lib/typescript/src/components/A11yOrder/A11yOrder.d.ts.map +1 -1
  89. package/lib/typescript/src/components/A11yPaneTitle/A11yPaneTitle.d.ts +3 -4
  90. package/lib/typescript/src/components/A11yPaneTitle/A11yPaneTitle.d.ts.map +1 -1
  91. package/lib/typescript/src/components/A11yView/A11yView.d.ts +4 -4
  92. package/lib/typescript/src/components/A11yView/A11yView.d.ts.map +1 -1
  93. package/lib/typescript/src/components/A11yView/A11yView.types.d.ts +2 -2
  94. package/lib/typescript/src/components/A11yView/A11yView.types.d.ts.map +1 -1
  95. package/lib/typescript/src/index.d.ts +18 -18
  96. package/lib/typescript/src/index.d.ts.map +1 -1
  97. package/lib/typescript/src/index.web.d.ts +42 -15
  98. package/lib/typescript/src/index.web.d.ts.map +1 -1
  99. package/lib/typescript/src/modules/A11yAnnounceModule.d.ts.map +1 -1
  100. package/lib/typescript/src/nativeSpecs/A11yCardNativeComponent.d.ts +2 -2
  101. package/lib/typescript/src/nativeSpecs/A11yCardNativeComponent.d.ts.map +1 -1
  102. package/lib/typescript/src/nativeSpecs/A11yIndexNativeComponent.d.ts +9 -10
  103. package/lib/typescript/src/nativeSpecs/A11yIndexNativeComponent.d.ts.map +1 -1
  104. package/lib/typescript/src/nativeSpecs/A11yLockNativeComponent.d.ts +3 -4
  105. package/lib/typescript/src/nativeSpecs/A11yLockNativeComponent.d.ts.map +1 -1
  106. package/lib/typescript/src/nativeSpecs/A11yOrderNativeComponent.d.ts +2 -2
  107. package/lib/typescript/src/nativeSpecs/A11yOrderNativeComponent.d.ts.map +1 -1
  108. package/lib/typescript/src/nativeSpecs/A11yPaneTitleNativeComponent.d.ts +3 -4
  109. package/lib/typescript/src/nativeSpecs/A11yPaneTitleNativeComponent.d.ts.map +1 -1
  110. package/lib/typescript/src/nativeSpecs/NativeA11yAnnounceModule.d.ts +1 -1
  111. package/lib/typescript/src/nativeSpecs/NativeA11yAnnounceModule.d.ts.map +1 -1
  112. package/package.json +54 -35
  113. package/react-native-a11y-order.podspec +2 -2
  114. package/react-native.config.js +12 -0
  115. package/src/components/A11yCard/A11yCard.ios.tsx +0 -1
  116. package/src/components/A11yCard/A11yCard.tsx +0 -1
  117. package/src/components/A11yIndex/A11yIndex.tsx +8 -7
  118. package/src/components/A11yIndex/A11yIndex.web.tsx +0 -1
  119. package/src/components/A11yLock/A11yFocusFrame/A11yFocusFrame.tsx +0 -1
  120. package/src/components/A11yLock/A11yFocusTrap/A11yFocusTrap.tsx +0 -1
  121. package/src/components/A11yPaneTitle/A11yPaneTitle.tsx +0 -1
  122. package/src/modules/A11yAnnounceModule.ts +3 -28
  123. package/src/nativeSpecs/A11yCardNativeComponent.ts +6 -4
  124. package/src/nativeSpecs/A11yIndexNativeComponent.ts +15 -17
  125. package/src/nativeSpecs/A11yLockNativeComponent.ts +10 -6
  126. package/src/nativeSpecs/A11yOrderNativeComponent.ts +6 -4
  127. package/src/nativeSpecs/A11yPaneTitleNativeComponent.ts +10 -6
  128. package/src/nativeSpecs/NativeA11yAnnounceModule.ts +1 -1
  129. package/android/gradle.properties +0 -5
  130. package/android/src/oldarch/A11yAnnounceModuleSpec.java +0 -19
  131. package/android/src/oldarch/A11yCardViewManagerSpec.java +0 -8
  132. package/android/src/oldarch/A11yIndexViewManagerSpec.java +0 -22
  133. package/android/src/oldarch/A11yLockViewManagerSpec.java +0 -15
  134. package/android/src/oldarch/A11yOrderViewManagerSpec.java +0 -8
  135. package/android/src/oldarch/A11yPaneTitleSpec.java +0 -15
  136. package/ios/views/RNAOA11yCardView/RNAOA11yCardViewManager.h +0 -14
  137. package/ios/views/RNAOA11yCardView/RNAOA11yCardViewManager.mm +0 -17
  138. package/ios/views/RNAOA11yIndexView/RNAOA11yIndexViewManager.h +0 -19
  139. package/ios/views/RNAOA11yIndexView/RNAOA11yIndexViewManager.mm +0 -75
  140. package/ios/views/RNAOA11yLockView/RNAOA11yLockViewManager.h +0 -14
  141. package/ios/views/RNAOA11yLockView/RNAOA11yLockViewManager.mm +0 -28
  142. package/ios/views/RNAOA11yOrderView/RNAOA11yOrderViewManager.h +0 -18
  143. package/ios/views/RNAOA11yOrderView/RNAOA11yOrderViewManager.mm +0 -31
  144. package/ios/views/RNAOA11yPaneTitleView/RNAOA11yPaneTitleViewManager.h +0 -15
  145. package/ios/views/RNAOA11yPaneTitleView/RNAOA11yPaneTitleViewManager.mm +0 -42
  146. package/lib/commonjs/components/A11yCard/A11yCard.ios.js +0 -56
  147. package/lib/commonjs/components/A11yCard/A11yCard.ios.js.map +0 -1
  148. package/lib/commonjs/components/A11yCard/A11yCard.js +0 -41
  149. package/lib/commonjs/components/A11yCard/A11yCard.js.map +0 -1
  150. package/lib/commonjs/components/A11yCard/A11yCard.types.js +0 -6
  151. package/lib/commonjs/components/A11yCard/A11yCard.types.js.map +0 -1
  152. package/lib/commonjs/components/A11yIndex/A11yIndex.js +0 -119
  153. package/lib/commonjs/components/A11yIndex/A11yIndex.js.map +0 -1
  154. package/lib/commonjs/components/A11yIndex/A11yIndex.types.js +0 -39
  155. package/lib/commonjs/components/A11yIndex/A11yIndex.types.js.map +0 -1
  156. package/lib/commonjs/components/A11yIndex/A11yIndex.web.js +0 -26
  157. package/lib/commonjs/components/A11yIndex/A11yIndex.web.js.map +0 -1
  158. package/lib/commonjs/components/A11yLock/A11yBaseLock/A11yBaseLock.js +0 -25
  159. package/lib/commonjs/components/A11yLock/A11yBaseLock/A11yBaseLock.js.map +0 -1
  160. package/lib/commonjs/components/A11yLock/A11yFocusFrame/A11yFocusFrame.android.js +0 -24
  161. package/lib/commonjs/components/A11yLock/A11yFocusFrame/A11yFocusFrame.android.js.map +0 -1
  162. package/lib/commonjs/components/A11yLock/A11yFocusFrame/A11yFocusFrame.js +0 -18
  163. package/lib/commonjs/components/A11yLock/A11yFocusFrame/A11yFocusFrame.js.map +0 -1
  164. package/lib/commonjs/components/A11yLock/A11yFocusTrap/A11yFocusTrap.android.js +0 -22
  165. package/lib/commonjs/components/A11yLock/A11yFocusTrap/A11yFocusTrap.android.js.map +0 -1
  166. package/lib/commonjs/components/A11yLock/A11yFocusTrap/A11yFocusTrap.js +0 -36
  167. package/lib/commonjs/components/A11yLock/A11yFocusTrap/A11yFocusTrap.js.map +0 -1
  168. package/lib/commonjs/components/A11yLock/A11yFocusTrap/A11yFocusTrapMountWrapper.js +0 -46
  169. package/lib/commonjs/components/A11yLock/A11yFocusTrap/A11yFocusTrapMountWrapper.js.map +0 -1
  170. package/lib/commonjs/components/A11yLock/A11yLock.types.js +0 -6
  171. package/lib/commonjs/components/A11yLock/A11yLock.types.js.map +0 -1
  172. package/lib/commonjs/components/A11yOrder/A11yOrder.js +0 -22
  173. package/lib/commonjs/components/A11yOrder/A11yOrder.js.map +0 -1
  174. package/lib/commonjs/components/A11yOrder/A11yOrder.types.js +0 -6
  175. package/lib/commonjs/components/A11yOrder/A11yOrder.types.js.map +0 -1
  176. package/lib/commonjs/components/A11yPaneTitle/A11yPaneTitle.js +0 -41
  177. package/lib/commonjs/components/A11yPaneTitle/A11yPaneTitle.js.map +0 -1
  178. package/lib/commonjs/components/A11yPaneTitle/A11yPaneTitle.types.js +0 -6
  179. package/lib/commonjs/components/A11yPaneTitle/A11yPaneTitle.types.js.map +0 -1
  180. package/lib/commonjs/components/A11yView/A11yView.js +0 -14
  181. package/lib/commonjs/components/A11yView/A11yView.js.map +0 -1
  182. package/lib/commonjs/components/A11yView/A11yView.types.js +0 -6
  183. package/lib/commonjs/components/A11yView/A11yView.types.js.map +0 -1
  184. package/lib/commonjs/context/A11yFocusFrameProviderContext.js +0 -30
  185. package/lib/commonjs/context/A11yFocusFrameProviderContext.js.map +0 -1
  186. package/lib/commonjs/context/A11ySequenceOrderContext.js +0 -10
  187. package/lib/commonjs/context/A11ySequenceOrderContext.js.map +0 -1
  188. package/lib/commonjs/index.js +0 -60
  189. package/lib/commonjs/index.js.map +0 -1
  190. package/lib/commonjs/index.web.js +0 -33
  191. package/lib/commonjs/index.web.js.map +0 -1
  192. package/lib/commonjs/modules/A11yAnnounceModule.android.js +0 -45
  193. package/lib/commonjs/modules/A11yAnnounceModule.android.js.map +0 -1
  194. package/lib/commonjs/modules/A11yAnnounceModule.js +0 -86
  195. package/lib/commonjs/modules/A11yAnnounceModule.js.map +0 -1
  196. package/lib/commonjs/nativeSpecs/A11yCardNativeComponent.ts +0 -9
  197. package/lib/commonjs/nativeSpecs/A11yIndexNativeComponent.ts +0 -47
  198. package/lib/commonjs/nativeSpecs/A11yLockNativeComponent.ts +0 -13
  199. package/lib/commonjs/nativeSpecs/A11yOrderNativeComponent.ts +0 -11
  200. package/lib/commonjs/nativeSpecs/A11yPaneTitleNativeComponent.ts +0 -13
  201. package/lib/commonjs/nativeSpecs/NativeA11yAnnounceModule.js +0 -11
  202. package/lib/commonjs/nativeSpecs/NativeA11yAnnounceModule.js.map +0 -1
  203. package/lib/commonjs/package.json +0 -1
  204. /package/android/src/{newarch → main/java/com/a11yorder}/A11yAnnounceModuleSpec.java +0 -0
  205. /package/android/src/{newarch → main/java/com/a11yorder}/A11yCardViewManagerSpec.java +0 -0
  206. /package/android/src/{newarch → main/java/com/a11yorder}/A11yPaneTitleSpec.java +0 -0
package/README.md CHANGED
@@ -12,7 +12,7 @@ Native-first React Native library for controlling screen reader focus order on i
12
12
  - 🃏 **Cards with inner buttons** — card action and nested controls, both accessible at once
13
13
  - 🔒 **Focus trap** — keep VoiceOver and TalkBack inside modals, no leaking
14
14
  - 📣 **Transition announcements** — notify the screen reader on screen and panel changes
15
- - ⚡ New Architecture · Old Architecture · Bridgeless · Expo prebuild
15
+ - ⚡ New Architecture · Bridgeless · Expo prebuild
16
16
 
17
17
  > [!TIP]
18
18
  > Before adding this library, try `<View collapsable={false}>` — it fixes most simple focus order issues with no extra dependencies. [Learn more](./docs/guides/collapsable.md)
@@ -1,110 +1,55 @@
1
- def reactNativeArchitectures() {
2
- def value = rootProject.getProperties().get("reactNativeArchitectures")
3
- return value ? value.split(",") : ["armeabi-v7a", "x86", "x86_64", "arm64-v8a"]
4
- }
5
-
6
- def isNewArchitectureEnabled() {
7
- return rootProject.hasProperty("newArchEnabled") && rootProject.getProperty("newArchEnabled") == "true"
8
- }
9
-
10
- apply plugin: "com.android.library"
1
+ buildscript {
2
+ ext.A11yOrder = [
3
+ kotlinVersion: "2.0.21",
4
+ minSdkVersion: 24,
5
+ compileSdkVersion: 36
6
+ ]
7
+
8
+ ext.getExtOrDefault = { prop ->
9
+ if (rootProject.ext.has(prop)) {
10
+ return rootProject.ext.get(prop)
11
+ }
11
12
 
13
+ return A11yOrder[prop]
14
+ }
12
15
 
13
- def appProject = rootProject.allprojects.find { it.plugins.hasPlugin('com.android.application') }
16
+ repositories {
17
+ google()
18
+ mavenCentral()
19
+ }
14
20
 
15
- if (isNewArchitectureEnabled()) {
16
- apply plugin: "com.facebook.react"
21
+ dependencies {
22
+ classpath "com.android.tools.build:gradle:8.7.2"
23
+ // noinspection DifferentKotlinGradleVersion
24
+ classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${getExtOrDefault('kotlinVersion')}"
25
+ }
17
26
  }
18
27
 
19
- def getExtOrDefault(name) {
20
- return rootProject.ext.has(name) ? rootProject.ext.get(name) : project.properties["A11yOrder_" + name]
21
- }
22
28
 
23
- def getExtOrIntegerDefault(name) {
24
- return rootProject.ext.has(name) ? rootProject.ext.get(name) : (project.properties["A11yOrder_" + name]).toInteger()
29
+ apply plugin: "com.android.library"
30
+
31
+ if (project.extensions.findByName("kotlin") == null) {
32
+ apply plugin: "kotlin-android"
25
33
  }
26
34
 
27
- def supportsNamespace() {
28
- def parsed = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION.tokenize('.')
29
- def major = parsed[0].toInteger()
30
- def minor = parsed[1].toInteger()
31
35
 
32
- // Namespace support was added in 7.3.0
33
- return (major == 7 && minor >= 3) || major >= 8
34
- }
36
+ apply plugin: "com.facebook.react"
35
37
 
36
38
  android {
37
- if (supportsNamespace()) {
38
- namespace "com.a11yorder"
39
+ namespace "com.a11yorder"
39
40
 
40
- sourceSets {
41
- main {
42
- manifest.srcFile "src/main/AndroidManifestNew.xml"
43
- }
44
- }
45
- }
46
-
47
- compileSdkVersion getExtOrIntegerDefault("compileSdkVersion")
41
+ compileSdkVersion getExtOrDefault("compileSdkVersion")
48
42
 
49
43
  defaultConfig {
50
- minSdkVersion getExtOrIntegerDefault("minSdkVersion")
51
- targetSdkVersion getExtOrIntegerDefault("targetSdkVersion")
52
- buildConfigField "boolean", "IS_NEW_ARCHITECTURE_ENABLED", isNewArchitectureEnabled().toString()
53
- }
54
-
55
- buildFeatures {
56
- buildConfig true
57
- }
58
-
59
- buildTypes {
60
- release {
61
- minifyEnabled false
62
- }
63
- }
64
-
65
- lintOptions {
66
- disable "GradleCompatible"
44
+ minSdkVersion getExtOrDefault("minSdkVersion")
67
45
  }
68
46
 
69
47
  compileOptions {
70
- sourceCompatibility JavaVersion.VERSION_1_8
71
- targetCompatibility JavaVersion.VERSION_1_8
72
- }
73
-
74
- sourceSets {
75
- main {
76
- if (isNewArchitectureEnabled()) {
77
- java.srcDirs += [
78
- "src/newarch",
79
- "generated/java",
80
- "generated/jni"
81
- ]
82
- } else {
83
- java.srcDirs += ["src/oldarch"]
84
- }
85
- }
48
+ sourceCompatibility JavaVersion.VERSION_17
49
+ targetCompatibility JavaVersion.VERSION_17
86
50
  }
87
51
  }
88
52
 
89
- repositories {
90
- mavenCentral()
91
- google()
92
- }
93
-
94
- def kotlin_version = getExtOrDefault("kotlinVersion")
95
-
96
53
  dependencies {
97
- // For < 0.71, this will be from the local maven repo
98
- // For > 0.71, this will be replaced by `com.facebook.react:react-android:$version` by react gradle plugin
99
- //noinspection GradleDynamicVersion
100
- implementation "com.facebook.react:react-native:+"
101
- }
102
-
103
-
104
- if (isNewArchitectureEnabled()) {
105
- react {
106
- jsRootDir = file("../src/")
107
- libraryName = "A11yOrder"
108
- codegenJavaPackageName = "com.a11yorder"
109
- }
54
+ implementation "com.facebook.react:react-android"
110
55
  }
@@ -1,4 +1,3 @@
1
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
2
- package="com.a11yorder">
1
+ <manifest xmlns:android="http://schemas.android.com/apk/res/android">
3
2
 
4
3
  </manifest>
@@ -1,12 +1,5 @@
1
1
  package com.a11yorder;
2
2
 
3
- import android.view.ViewGroup;
4
-
5
- import androidx.annotation.Nullable;
6
-
7
- import com.facebook.react.uimanager.ViewGroupManager;
8
- import com.facebook.react.uimanager.ViewManagerDelegate;
9
- import com.facebook.react.viewmanagers.A11yIndexViewManagerDelegate;
10
3
  import com.facebook.react.viewmanagers.A11yIndexViewManagerInterface;
11
4
  import com.facebook.react.views.view.ReactViewGroup;
12
5
  import com.facebook.react.views.view.ReactViewManager;
@@ -1,6 +1,5 @@
1
1
  package com.a11yorder;
2
2
 
3
- import com.a11yorder.views.A11yLockView.A11yLockView;
4
3
  import com.facebook.react.viewmanagers.A11yLockManagerInterface;
5
4
  import com.facebook.react.views.view.ReactViewGroup;
6
5
  import com.facebook.react.views.view.ReactViewManager;
@@ -1,46 +1,42 @@
1
1
  package com.a11yorder;
2
2
 
3
-
4
3
  import com.a11yorder.modules.A11yAnnounceModule;
5
4
  import com.a11yorder.views.A11yCardView.A11yCardViewManager;
6
5
  import com.a11yorder.views.A11yIndexView.A11yIndexViewManager;
7
6
  import com.a11yorder.views.A11yLockView.A11yLockViewManager;
8
7
  import com.a11yorder.views.A11yOrderView.A11yOrderViewManager;
9
8
  import com.a11yorder.views.A11yPaneTitle.A11yPaneTitleManager;
9
+ import com.facebook.react.BaseReactPackage;
10
+ import com.facebook.react.bridge.NativeModule;
11
+ import com.facebook.react.bridge.ReactApplicationContext;
10
12
  import com.facebook.react.module.model.ReactModuleInfo;
11
13
  import com.facebook.react.module.model.ReactModuleInfoProvider;
12
14
  import com.facebook.react.uimanager.ViewManager;
13
- import com.facebook.react.TurboReactPackage;
14
15
 
15
- import java.util.ArrayList;
16
+ import java.util.Arrays;
16
17
  import java.util.HashMap;
17
18
  import java.util.List;
18
19
  import java.util.Map;
19
20
 
20
- import com.facebook.react.bridge.NativeModule;
21
- import com.facebook.react.bridge.ReactApplicationContext;
22
-
23
- public class A11yOrderPackage extends TurboReactPackage {
21
+ public class A11yOrderPackage extends BaseReactPackage {
24
22
 
25
23
  @Override
26
24
  public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
27
- List<ViewManager> viewManagers = new ArrayList<>();
28
- viewManagers.add(new A11yIndexViewManager());
29
- viewManagers.add(new A11yOrderViewManager());
30
- viewManagers.add(new A11yPaneTitleManager());
31
- viewManagers.add(new A11yLockViewManager());
32
- viewManagers.add(new A11yCardViewManager());
33
-
34
- return viewManagers;
25
+ return Arrays.asList(
26
+ new A11yIndexViewManager(),
27
+ new A11yOrderViewManager(),
28
+ new A11yPaneTitleManager(),
29
+ new A11yLockViewManager(),
30
+ new A11yCardViewManager()
31
+ );
35
32
  }
36
33
 
37
34
  @Override
38
35
  public NativeModule getModule(String name, ReactApplicationContext reactContext) {
39
36
  if (name.equals(A11yAnnounceModule.NAME)) {
40
37
  return new A11yAnnounceModule(reactContext);
41
- } else {
42
- return null;
43
38
  }
39
+ return null;
44
40
  }
45
41
 
46
42
  @Override
@@ -49,16 +45,14 @@ public class A11yOrderPackage extends TurboReactPackage {
49
45
  @Override
50
46
  public Map<String, ReactModuleInfo> getReactModuleInfos() {
51
47
  Map<String, ReactModuleInfo> map = new HashMap<>();
52
- boolean isTurboModule = BuildConfig.IS_NEW_ARCHITECTURE_ENABLED;
53
48
 
54
49
  map.put(A11yAnnounceModule.NAME, new ReactModuleInfo(
55
- A11yAnnounceModule.NAME, // name
56
- A11yAnnounceModule.NAME, // className
57
- false, // canOverrideExistingModule
58
- false, // needsEagerInit
59
- false, // hasConstants to support 0.72
60
- false, // isCXXModule
61
- isTurboModule // isTurboModule
50
+ A11yAnnounceModule.NAME, // name
51
+ A11yAnnounceModule.NAME, // className
52
+ false, // canOverrideExistingModule
53
+ false, // needsEagerInit
54
+ false, // isCxxModule
55
+ true // isTurboModule
62
56
  ));
63
57
  return map;
64
58
  }
@@ -2,11 +2,6 @@ package com.a11yorder;
2
2
 
3
3
  import android.view.ViewGroup;
4
4
 
5
- import androidx.annotation.Nullable;
6
-
7
- import com.facebook.react.uimanager.ViewGroupManager;
8
- import com.facebook.react.uimanager.ViewManagerDelegate;
9
- import com.facebook.react.viewmanagers.A11yOrderViewManagerDelegate;
10
5
  import com.facebook.react.viewmanagers.A11yOrderViewManagerInterface;
11
6
  import com.facebook.react.views.view.ReactViewManager;
12
7
 
@@ -10,21 +10,12 @@
10
10
 
11
11
  #import <UIKit/UIKit.h>
12
12
 
13
- #ifdef RCT_NEW_ARCH_ENABLED
14
13
 
15
- #import "RCTModalHostViewComponentView.h"
14
+ #import <React/RCTModalHostViewComponentView.h>
16
15
 
17
16
 
18
17
  @interface RCTModalHostViewComponentView (RNAOA11yOrder)
19
18
  @end
20
19
 
21
- #else
22
-
23
- #import "RCTModalHostView.h"
24
-
25
- @interface RCTModalHostView (RNAOA11yOrder)
26
- @end
27
-
28
- #endif
29
20
 
30
21
  #endif /* RCTModalHostViewComponentView_RNAOA11yOrder_h */
@@ -12,8 +12,6 @@
12
12
  #import "RNAOA11yAnnounceService.h"
13
13
  #import "RCTModalHostViewComponentView+RNAOA11yOrder.h"
14
14
 
15
- #ifdef RCT_NEW_ARCH_ENABLED
16
-
17
15
 
18
16
  @implementation RCTModalHostViewComponentView (RNAOA11yOrder)
19
17
 
@@ -48,35 +46,3 @@ RNAO_INSTALL_SWIZZLES(RNAORegisterModalPresentationSwizzles)
48
46
 
49
47
  @end
50
48
 
51
- #else
52
-
53
- @implementation RCTModalHostView (RNAOA11yOrder)
54
-
55
- static void RNAORegisterModalPresentationSwizzles(void) {
56
- Class cls = objc_getClass("RCTModalHostView");
57
- if (!cls) return;
58
- RNAOSwizzleInstanceMethod(cls,
59
- @selector(ensurePresentedOnlyIfNeeded),
60
- @selector(rnao_ensurePresentedOnlyIfNeeded));
61
- RNAOSwizzleInstanceMethod(cls,
62
- @selector(dismissModalViewController),
63
- @selector(rnao_dismissModalViewController));
64
- }
65
-
66
- RNAO_INSTALL_SWIZZLES(RNAORegisterModalPresentationSwizzles)
67
-
68
- - (void)rnao_ensurePresentedOnlyIfNeeded
69
- {
70
- [self rnao_ensurePresentedOnlyIfNeeded];
71
- [[RNAOA11yAnnounceService shared] temporarilyLockAnnounce: 0.1];
72
- }
73
-
74
- - (void)rnao_dismissModalViewController
75
- {
76
- [self rnao_dismissModalViewController];
77
- [[RNAOA11yAnnounceService shared] temporarilyLockAnnounce: 0.1];
78
- }
79
-
80
- @end
81
-
82
- #endif
@@ -12,11 +12,7 @@
12
12
  #import "RNAOSwizzleInstall.h"
13
13
  #import <objc/runtime.h>
14
14
 
15
- #ifdef RCT_NEW_ARCH_ENABLED
16
15
  #import <React/RCTViewComponentView.h>
17
- #else
18
- #import <React/RCTView.h>
19
- #endif
20
16
 
21
17
  @interface RNAOWeakWrapper : NSObject
22
18
  @property (nonatomic, weak) id value;
@@ -57,11 +53,7 @@ static char kRNAOScreenReaderFocusDelegate;
57
53
 
58
54
 
59
55
  static void RNAORegisterViewFocusSwizzles(void) {
60
- #ifdef RCT_NEW_ARCH_ENABLED
61
56
  Class swizzleClass = objc_getClass("RCTViewComponentView");
62
- #else
63
- Class swizzleClass = objc_getClass("RCTView");
64
- #endif
65
57
  if (!swizzleClass) return;
66
58
 
67
59
  RNAOSwizzleInstanceMethod(swizzleClass,
@@ -5,7 +5,6 @@
5
5
  // Created by Artur Kalach on 21/10/2025.
6
6
  //
7
7
 
8
- #ifdef RCT_NEW_ARCH_ENABLED
9
8
 
10
9
  #ifndef RNAOFabricEventHelper_h
11
10
  #define RNAOFabricEventHelper_h
@@ -25,4 +24,3 @@ using namespace facebook::react;
25
24
 
26
25
  #endif /* RNCEKVFabricEventHelper_h */
27
26
 
28
- #endif
@@ -7,7 +7,6 @@
7
7
 
8
8
  #import <Foundation/Foundation.h>
9
9
 
10
- #ifdef RCT_NEW_ARCH_ENABLED
11
10
  #import <Foundation/Foundation.h>
12
11
 
13
12
  #import "RNAOFabricEventHelper.h"
@@ -60,6 +59,4 @@ using namespace facebook::react;
60
59
  }
61
60
 
62
61
 
63
-
64
62
  @end
65
- #endif
@@ -8,30 +8,10 @@
8
8
 
9
9
  #import <Foundation/Foundation.h>
10
10
 
11
- #ifdef RCT_NEW_ARCH_ENABLED
12
11
  #import <RNA11yOrderSpec/RNA11yOrderSpec.h>
13
12
 
14
13
  @interface RNAOA11yAnnounceModule : NSObject <NativeA11yAnnounceModuleSpec>
15
14
 
16
- #else
17
-
18
- #import <React/RCTBridgeModule.h>
19
-
20
- @interface RNAOA11yAnnounceModule : NSObject <RCTBridgeModule>
21
-
22
- - (void)announce:(NSString *)message
23
- options:(NSDictionary *)options
24
- resolve:(RCTPromiseResolveBlock)resolve
25
- reject:(RCTPromiseRejectBlock)reject;
26
-
27
- - (void)cancel:(NSString *)announcementId
28
- resolve:(RCTPromiseResolveBlock)resolve
29
- reject:(RCTPromiseRejectBlock)reject;
30
-
31
- - (void)cancelAll:(RCTPromiseResolveBlock)resolve
32
- reject:(RCTPromiseRejectBlock)reject;
33
-
34
- #endif
35
15
 
36
16
  @end
37
17
 
@@ -9,9 +9,7 @@
9
9
  #import "RNAOA11yAnnounceService.h"
10
10
  #import "RNAOSpeechAttributes.h"
11
11
 
12
- #ifdef RCT_NEW_ARCH_ENABLED
13
12
  using namespace facebook::react;
14
- #endif
15
13
 
16
14
  // ─────────────────────────────────────────────────────────────────────────────
17
15
  // MARK: - Pending entry
@@ -134,7 +132,6 @@ RCT_EXPORT_MODULE(A11yAnnounceModule);
134
132
  }
135
133
  }
136
134
 
137
- #ifdef RCT_NEW_ARCH_ENABLED
138
135
 
139
136
  - (void)announce:(NSString *)message
140
137
  options:(JS::NativeA11yAnnounceModule::AnnounceOptions &)options
@@ -157,19 +154,6 @@ RCT_EXPORT_MODULE(A11yAnnounceModule);
157
154
  [self _announceMessage:message opts:opts resolve:resolve reject:reject];
158
155
  }
159
156
 
160
- #else
161
-
162
- RCT_EXPORT_METHOD(announce:(NSString *)message
163
- options:(NSDictionary *)options
164
- resolve:(RCTPromiseResolveBlock)resolve
165
- reject:(RCTPromiseRejectBlock)reject)
166
- {
167
- NSDictionary *opts = ([options isKindOfClass:[NSDictionary class]]) ? options : @{};
168
- [self _announceMessage:message opts:opts resolve:resolve reject:reject];
169
- }
170
-
171
- #endif // RCT_NEW_ARCH_ENABLED
172
-
173
157
 
174
158
  // ─────────────────────────────────────────────────────────────────────────────
175
159
  // MARK: - cancel / cancelAll
@@ -235,12 +219,10 @@ RCT_EXPORT_METHOD(cancelAll:(RCTPromiseResolveBlock)resolve
235
219
  }
236
220
 
237
221
 
238
- #ifdef RCT_NEW_ARCH_ENABLED
239
222
  - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
240
223
  (const facebook::react::ObjCTurboModule::InitParams &)params
241
224
  {
242
225
  return std::make_shared<facebook::react::NativeA11yAnnounceModuleSpecJSI>(params);
243
226
  }
244
- #endif
245
227
 
246
228
  @end
@@ -6,7 +6,6 @@
6
6
  #ifndef RNAOA11yCardView_h
7
7
  #define RNAOA11yCardView_h
8
8
 
9
- #ifdef RCT_NEW_ARCH_ENABLED
10
9
 
11
10
  #import <React/RCTViewComponentView.h>
12
11
 
@@ -17,13 +16,5 @@ NS_ASSUME_NONNULL_BEGIN
17
16
 
18
17
  NS_ASSUME_NONNULL_END
19
18
 
20
- #else
21
-
22
- #import <React/RCTView.h>
23
-
24
- @interface RNAOA11yCardView : RCTView
25
- @end
26
-
27
- #endif
28
19
 
29
20
  #endif /* RNAOA11yCardView_h */
@@ -5,15 +5,14 @@
5
5
 
6
6
  #import "RNAOA11yCardView.h"
7
7
 
8
- #ifdef RCT_NEW_ARCH_ENABLED
9
8
 
10
9
  #import <react/renderer/components/RNA11yOrderSpec/ComponentDescriptors.h>
10
+ #import <react/renderer/components/RNA11yOrderSpec/Props.h>
11
11
  #import <react/renderer/components/RNA11yOrderSpec/RCTComponentViewHelpers.h>
12
- #import "RCTFabricComponentsPlugins.h"
12
+ #import <React/RCTFabricComponentsPlugins.h>
13
13
 
14
14
  using namespace facebook::react;
15
15
 
16
- #endif
17
16
 
18
17
  @implementation RNAOA11yCardView {
19
18
  UIFocusGuide *_contentFocusGuide;
@@ -21,6 +20,15 @@ using namespace facebook::react;
21
20
  NSString *_contentFocusGroupIdentifier;
22
21
  }
23
22
 
23
+ - (instancetype)initWithFrame:(CGRect)frame
24
+ {
25
+ if (self = [super initWithFrame:frame]) {
26
+ static const auto defaultProps = std::make_shared<const A11yCardViewProps>();
27
+ _props = defaultProps;
28
+ }
29
+ return self;
30
+ }
31
+
24
32
  - (nullable NSArray *)accessibilityElements {
25
33
  return self.subviews;
26
34
  }
@@ -52,7 +60,6 @@ using namespace facebook::react;
52
60
  }
53
61
  }
54
62
 
55
- #ifdef RCT_NEW_ARCH_ENABLED
56
63
 
57
64
  - (void)mountChildComponentView:(UIView<RCTComponentViewProtocol> *)childComponentView
58
65
  index:(NSInteger)index {
@@ -68,16 +75,5 @@ Class<RCTComponentViewProtocol> A11yCardViewCls(void) {
68
75
  return RNAOA11yCardView.class;
69
76
  }
70
77
 
71
- #else
72
-
73
- - (void)didAddSubview:(UIView *)subview {
74
- [super didAddSubview:subview];
75
- NSUInteger index = [self.subviews indexOfObject:subview];
76
- if (index != NSNotFound) {
77
- [self assignFocusGroupIdentifierToChild:subview atIndex:(NSInteger)index];
78
- }
79
- }
80
-
81
- #endif
82
78
 
83
79
  @end
@@ -1,24 +1,21 @@
1
1
  #import "RNAOA11yIndexView.h"
2
2
 
3
- #ifdef RCT_NEW_ARCH_ENABLED
4
3
 
5
4
  #include <string>
6
5
  #import <react/renderer/components/RNA11yOrderSpec/ComponentDescriptors.h>
7
6
  #import <react/renderer/components/RNA11yOrderSpec/EventEmitters.h>
8
7
  #import <react/renderer/components/RNA11yOrderSpec/Props.h>
9
8
  #import <react/renderer/components/RNA11yOrderSpec/RCTComponentViewHelpers.h>
10
- #import "RCTFabricComponentsPlugins.h"
9
+ #import <React/RCTFabricComponentsPlugins.h>
11
10
 
12
11
  using namespace facebook::react;
13
12
 
14
13
  @interface RNAOA11yIndexView () <RCTA11yIndexViewViewProtocol>
15
14
  @end
16
15
 
17
- #endif
18
16
 
19
17
  @implementation RNAOA11yIndexView
20
18
 
21
- #ifdef RCT_NEW_ARCH_ENABLED
22
19
 
23
20
  - (instancetype)initWithFrame:(CGRect)frame {
24
21
  if (self = [super initWithFrame:frame]) {
@@ -67,6 +64,5 @@ Class<RCTComponentViewProtocol> A11yIndexViewCls(void) {
67
64
  return RNAOA11yIndexView.class;
68
65
  }
69
66
 
70
- #endif
71
67
 
72
68
  @end
@@ -13,7 +13,6 @@
13
13
  #import "RNAOViewItemProtocol.h"
14
14
 
15
15
 
16
- #ifdef RCT_NEW_ARCH_ENABLED
17
16
  #import <React/RCTViewComponentView.h>
18
17
 
19
18
  NS_ASSUME_NONNULL_BEGIN
@@ -26,15 +25,4 @@ NS_ASSUME_NONNULL_BEGIN
26
25
  NS_ASSUME_NONNULL_END
27
26
 
28
27
 
29
- #else /* RCT_NEW_ARCH_ENABLED */
30
-
31
- #import <React/RCTView.h>
32
- @interface RNAOA11yLockView : RCTView
33
- @property (nonatomic, assign) BOOL lockDisabled;
34
- @property (nonatomic, assign) NSInteger componentType;
35
- @end
36
-
37
- #endif
38
-
39
-
40
28
  #endif /* RNAOA11yLockView_h */
@@ -8,17 +8,15 @@
8
8
  #import <Foundation/Foundation.h>
9
9
 
10
10
  #import <UIKit/UIKit.h>
11
- #import <React/RCTViewManager.h>
12
11
  #import "RNAOA11yLockView.h"
13
12
 
14
- #ifdef RCT_NEW_ARCH_ENABLED
15
13
 
16
14
  #include <string>
17
15
  #import <react/renderer/components/RNA11yOrderSpec/ComponentDescriptors.h>
18
16
  #import <react/renderer/components/RNA11yOrderSpec/EventEmitters.h>
19
17
  #import <react/renderer/components/RNA11yOrderSpec/Props.h>
20
18
  #import <react/renderer/components/RNA11yOrderSpec/RCTComponentViewHelpers.h>
21
- #import "RCTFabricComponentsPlugins.h"
19
+ #import <React/RCTFabricComponentsPlugins.h>
22
20
 
23
21
  using namespace facebook::react;
24
22
 
@@ -26,9 +24,6 @@ using namespace facebook::react;
26
24
 
27
25
  @end
28
26
 
29
- #endif
30
-
31
-
32
27
 
33
28
  @implementation RNAOA11yLockView
34
29
 
@@ -53,7 +48,6 @@ using namespace facebook::react;
53
48
  object:nil];
54
49
  }
55
50
 
56
- #ifdef RCT_NEW_ARCH_ENABLED
57
51
  - (void)prepareForRecycle {
58
52
  [super prepareForRecycle];
59
53
  _lockDisabled = NO;
@@ -62,7 +56,6 @@ using namespace facebook::react;
62
56
  name:UIAccessibilityElementFocusedNotification
63
57
  object:nil];
64
58
  }
65
- #endif
66
59
 
67
60
  - (void)onAccessibilityFocusChanged:(NSNotification *)notification {
68
61
  if (_lockDisabled) return;
@@ -112,8 +105,6 @@ using namespace facebook::react;
112
105
  }
113
106
 
114
107
 
115
- #ifdef RCT_NEW_ARCH_ENABLED
116
-
117
108
  + (ComponentDescriptorProvider)componentDescriptorProvider
118
109
  {
119
110
  return concreteComponentDescriptorProvider<A11yLockComponentDescriptor>();
@@ -143,6 +134,5 @@ Class<RCTComponentViewProtocol> A11yLockCls(void)
143
134
  return RNAOA11yLockView.class;
144
135
  }
145
136
 
146
- #endif
147
137
 
148
138
  @end