react-native-flic2 0.3.26 → 2.0.0-alpha.39

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 (243) hide show
  1. package/Flic2.podspec +22 -0
  2. package/{LICENSE.md → LICENSE} +1 -1
  3. package/README.md +17 -523
  4. package/android/build.gradle +64 -132
  5. package/android/gradle.properties +5 -0
  6. package/android/src/main/AndroidManifest.xml +17 -29
  7. package/android/src/main/java/com/flic2/Flic2ButtonListener.kt +132 -0
  8. package/android/src/main/java/com/flic2/Flic2Converter.kt +103 -0
  9. package/android/src/main/java/com/flic2/Flic2Module.kt +480 -0
  10. package/android/src/main/java/com/flic2/Flic2Package.kt +33 -0
  11. package/android/src/main/java/com/flic2/Flic2Service.kt +112 -0
  12. package/ios/Flic2.h +9 -4
  13. package/ios/Flic2.mm +610 -0
  14. package/ios/flic2lib.framework/Headers/FLICButton.h +1 -1
  15. package/ios/flic2lib.framework/Headers/FLICManager.h +1 -1
  16. package/ios/flic2lib.framework/Info.plist +0 -0
  17. package/ios/flic2lib.framework/Modules/module.modulemap +1 -1
  18. package/ios/flic2lib.framework/flic2lib +0 -0
  19. package/lib/module/NativeFlic2.js +14 -0
  20. package/lib/module/NativeFlic2.js.map +1 -0
  21. package/lib/module/index.js +91 -0
  22. package/lib/module/index.js.map +1 -0
  23. package/lib/module/package.json +1 -0
  24. package/lib/typescript/package.json +1 -0
  25. package/lib/typescript/src/NativeFlic2.d.ts +119 -0
  26. package/lib/typescript/src/NativeFlic2.d.ts.map +1 -0
  27. package/lib/typescript/src/index.d.ts +81 -0
  28. package/lib/typescript/src/index.d.ts.map +1 -0
  29. package/package.json +132 -19
  30. package/src/NativeFlic2.ts +157 -0
  31. package/src/index.tsx +159 -0
  32. package/.editorconfig +0 -7
  33. package/.gitattributes +0 -1
  34. package/.idea/codeStyles/Project.xml +0 -116
  35. package/.idea/modules.xml +0 -8
  36. package/.idea/react-native-flic2.iml +0 -9
  37. package/.idea/vcs.xml +0 -6
  38. package/.idea/workspace.xml +0 -140
  39. package/android/.classpath +0 -6
  40. package/android/.gradle/5.4.1/executionHistory/executionHistory.bin +0 -0
  41. package/android/.gradle/5.4.1/executionHistory/executionHistory.lock +0 -0
  42. package/android/.gradle/5.4.1/fileChanges/last-build.bin +0 -0
  43. package/android/.gradle/5.4.1/fileContent/fileContent.lock +0 -0
  44. package/android/.gradle/5.4.1/fileHashes/fileHashes.bin +0 -0
  45. package/android/.gradle/5.4.1/fileHashes/fileHashes.lock +0 -0
  46. package/android/.gradle/5.4.1/fileHashes/resourceHashesCache.bin +0 -0
  47. package/android/.gradle/5.4.1/gc.properties +0 -0
  48. package/android/.gradle/5.4.1/javaCompile/classAnalysis.bin +0 -0
  49. package/android/.gradle/5.4.1/javaCompile/jarAnalysis.bin +0 -0
  50. package/android/.gradle/5.4.1/javaCompile/javaCompile.lock +0 -0
  51. package/android/.gradle/5.4.1/javaCompile/taskHistory.bin +0 -0
  52. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  53. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  54. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  55. package/android/.gradle/vcs-1/gc.properties +0 -0
  56. package/android/.idea/caches/build_file_checksums.ser +0 -0
  57. package/android/.idea/codeStyles/Project.xml +0 -116
  58. package/android/.idea/gradle.xml +0 -18
  59. package/android/.idea/libraries/Gradle__android_arch_core_common_1_1_1_jar.xml +0 -11
  60. package/android/.idea/libraries/Gradle__android_arch_core_runtime_1_1_1_aar.xml +0 -12
  61. package/android/.idea/libraries/Gradle__android_arch_lifecycle_common_1_1_1_jar.xml +0 -11
  62. package/android/.idea/libraries/Gradle__android_arch_lifecycle_livedata_1_1_1_aar.xml +0 -12
  63. package/android/.idea/libraries/Gradle__android_arch_lifecycle_livedata_core_1_1_1_aar.xml +0 -12
  64. package/android/.idea/libraries/Gradle__android_arch_lifecycle_runtime_1_1_1_aar.xml +0 -12
  65. package/android/.idea/libraries/Gradle__android_arch_lifecycle_viewmodel_1_1_1_aar.xml +0 -12
  66. package/android/.idea/libraries/Gradle__com_android_support_animated_vector_drawable_28_0_0_aar.xml +0 -10
  67. package/android/.idea/libraries/Gradle__com_android_support_appcompat_v7_28_0_0_aar.xml +0 -13
  68. package/android/.idea/libraries/Gradle__com_android_support_asynclayoutinflater_28_0_0_aar.xml +0 -10
  69. package/android/.idea/libraries/Gradle__com_android_support_collections_28_0_0_jar.xml +0 -9
  70. package/android/.idea/libraries/Gradle__com_android_support_coordinatorlayout_28_0_0_aar.xml +0 -13
  71. package/android/.idea/libraries/Gradle__com_android_support_cursoradapter_28_0_0_aar.xml +0 -10
  72. package/android/.idea/libraries/Gradle__com_android_support_customview_28_0_0_aar.xml +0 -10
  73. package/android/.idea/libraries/Gradle__com_android_support_documentfile_28_0_0_aar.xml +0 -10
  74. package/android/.idea/libraries/Gradle__com_android_support_drawerlayout_28_0_0_aar.xml +0 -13
  75. package/android/.idea/libraries/Gradle__com_android_support_interpolator_28_0_0_aar.xml +0 -10
  76. package/android/.idea/libraries/Gradle__com_android_support_loader_28_0_0_aar.xml +0 -10
  77. package/android/.idea/libraries/Gradle__com_android_support_localbroadcastmanager_28_0_0_aar.xml +0 -10
  78. package/android/.idea/libraries/Gradle__com_android_support_print_28_0_0_aar.xml +0 -13
  79. package/android/.idea/libraries/Gradle__com_android_support_slidingpanelayout_28_0_0_aar.xml +0 -10
  80. package/android/.idea/libraries/Gradle__com_android_support_support_annotations_28_0_0_jar.xml +0 -9
  81. package/android/.idea/libraries/Gradle__com_android_support_support_compat_28_0_0_aar.xml +0 -13
  82. package/android/.idea/libraries/Gradle__com_android_support_support_core_ui_28_0_0_aar.xml +0 -10
  83. package/android/.idea/libraries/Gradle__com_android_support_support_core_utils_28_0_0_aar.xml +0 -10
  84. package/android/.idea/libraries/Gradle__com_android_support_support_fragment_28_0_0_aar.xml +0 -13
  85. package/android/.idea/libraries/Gradle__com_android_support_support_vector_drawable_28_0_0_aar.xml +0 -10
  86. package/android/.idea/libraries/Gradle__com_android_support_swiperefreshlayout_28_0_0_aar.xml +0 -13
  87. package/android/.idea/libraries/Gradle__com_android_support_versionedparcelable_28_0_0_aar.xml +0 -10
  88. package/android/.idea/libraries/Gradle__com_android_support_viewpager_28_0_0_aar.xml +0 -10
  89. package/android/.idea/libraries/Gradle__com_facebook_fresco_drawee_1_10_0_aar.xml +0 -12
  90. package/android/.idea/libraries/Gradle__com_facebook_fresco_fbcore_1_10_0_aar.xml +0 -15
  91. package/android/.idea/libraries/Gradle__com_facebook_fresco_fresco_1_10_0_aar.xml +0 -15
  92. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_1_10_0_aar.xml +0 -15
  93. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_base_1_10_0_aar.xml +0 -15
  94. package/android/.idea/libraries/Gradle__com_facebook_fresco_imagepipeline_okhttp3_1_10_0_aar.xml +0 -12
  95. package/android/.idea/libraries/Gradle__com_facebook_infer_annotation_infer_annotation_0_11_2_jar.xml +0 -13
  96. package/android/.idea/libraries/Gradle__com_facebook_react_react_native_0_59_10_aar.xml +0 -17
  97. package/android/.idea/libraries/Gradle__com_facebook_soloader_soloader_0_6_0_aar.xml +0 -14
  98. package/android/.idea/libraries/Gradle__com_google_code_findbugs_jsr305_3_0_2_jar.xml +0 -13
  99. package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_3_12_1_jar.xml +0 -13
  100. package/android/.idea/libraries/Gradle__com_squareup_okhttp3_okhttp_urlconnection_3_12_1_jar.xml +0 -13
  101. package/android/.idea/libraries/Gradle__com_squareup_okio_okio_1_15_0_jar.xml +0 -13
  102. package/android/.idea/libraries/Gradle__io_flic_flic2lib_android_1_1_0_aar.xml +0 -14
  103. package/android/.idea/libraries/Gradle__javax_inject_javax_inject_1_jar.xml +0 -13
  104. package/android/.idea/misc.xml +0 -14
  105. package/android/.idea/modules.xml +0 -8
  106. package/android/.idea/runConfigurations.xml +0 -12
  107. package/android/.idea/vcs.xml +0 -6
  108. package/android/.idea/workspace.xml +0 -348
  109. package/android/.project +0 -34
  110. package/android/.settings/org.eclipse.buildship.core.prefs +0 -13
  111. package/android/README.md +0 -14
  112. package/android/android.iml +0 -139
  113. package/android/build/generated/source/buildConfig/debug/nl/xguard/flic2/BuildConfig.java +0 -13
  114. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml +0 -46
  115. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output.json +0 -1
  116. package/android/build/intermediates/annotation_processor_list/debug/annotationProcessors.json +0 -1
  117. package/android/build/intermediates/compile_only_not_namespaced_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  118. package/android/build/intermediates/incremental/packageDebugResources/compile-file-map.properties +0 -15
  119. package/android/build/intermediates/incremental/packageDebugResources/merged.dir/values/values.xml +0 -4
  120. package/android/build/intermediates/incremental/packageDebugResources/merger.xml +0 -2
  121. package/android/build/intermediates/library_manifest/debug/AndroidManifest.xml +0 -46
  122. package/android/build/intermediates/merged_manifests/debug/output.json +0 -1
  123. package/android/build/intermediates/packaged_res/debug/drawable/ic_launcher_background.xml +0 -74
  124. package/android/build/intermediates/packaged_res/debug/drawable-v24/ic_launcher_foreground.xml +0 -34
  125. package/android/build/intermediates/packaged_res/debug/mipmap-anydpi-v26/ic_launcher.xml +0 -5
  126. package/android/build/intermediates/packaged_res/debug/mipmap-anydpi-v26/ic_launcher_round.xml +0 -5
  127. package/android/build/intermediates/packaged_res/debug/mipmap-hdpi-v4/ic_launcher.png +0 -0
  128. package/android/build/intermediates/packaged_res/debug/mipmap-hdpi-v4/ic_launcher_round.png +0 -0
  129. package/android/build/intermediates/packaged_res/debug/mipmap-mdpi-v4/ic_launcher.png +0 -0
  130. package/android/build/intermediates/packaged_res/debug/mipmap-mdpi-v4/ic_launcher_round.png +0 -0
  131. package/android/build/intermediates/packaged_res/debug/mipmap-xhdpi-v4/ic_launcher.png +0 -0
  132. package/android/build/intermediates/packaged_res/debug/mipmap-xhdpi-v4/ic_launcher_round.png +0 -0
  133. package/android/build/intermediates/packaged_res/debug/mipmap-xxhdpi-v4/ic_launcher.png +0 -0
  134. package/android/build/intermediates/packaged_res/debug/mipmap-xxhdpi-v4/ic_launcher_round.png +0 -0
  135. package/android/build/intermediates/packaged_res/debug/mipmap-xxxhdpi-v4/ic_launcher.png +0 -0
  136. package/android/build/intermediates/packaged_res/debug/mipmap-xxxhdpi-v4/ic_launcher_round.png +0 -0
  137. package/android/build/intermediates/packaged_res/debug/values/values.xml +0 -4
  138. package/android/build/intermediates/res/symbol-table-with-package/debug/package-aware-r.txt +0 -989
  139. package/android/build/intermediates/symbols/debug/R.txt +0 -1302
  140. package/android/build/outputs/logs/manifest-merger-debug-report.txt +0 -95
  141. package/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  142. package/android/gradle/wrapper/gradle-wrapper.properties +0 -6
  143. package/android/gradlew +0 -172
  144. package/android/gradlew.bat +0 -84
  145. package/android/local.properties +0 -8
  146. package/android/src/main/ic_launcher-web.png +0 -0
  147. package/android/src/main/java/nl/xguard/flic2/Flic2.java +0 -213
  148. package/android/src/main/java/nl/xguard/flic2/Flic2Package.java +0 -28
  149. package/android/src/main/java/nl/xguard/flic2/communication/IReactEvent.java +0 -15
  150. package/android/src/main/java/nl/xguard/flic2/communication/NullReactEvent.java +0 -47
  151. package/android/src/main/java/nl/xguard/flic2/communication/ReactEvent.java +0 -230
  152. package/android/src/main/java/nl/xguard/flic2/model/IReactFlic2Manager.java +0 -27
  153. package/android/src/main/java/nl/xguard/flic2/model/NullReactFlic2Manager.java +0 -70
  154. package/android/src/main/java/nl/xguard/flic2/model/ReactAndroidHandler.java +0 -33
  155. package/android/src/main/java/nl/xguard/flic2/model/ReactFlic2ButtonListener.java +0 -106
  156. package/android/src/main/java/nl/xguard/flic2/model/ReactFlic2Manager.java +0 -168
  157. package/android/src/main/java/nl/xguard/flic2/model/ReactFlic2ScanCallback.java +0 -48
  158. package/android/src/main/java/nl/xguard/flic2/model/ReactLogger.java +0 -14
  159. package/android/src/main/java/nl/xguard/flic2/service/Flic2Service.java +0 -200
  160. package/android/src/main/java/nl/xguard/flic2/service/Flic2ServiceConnection.java +0 -41
  161. package/android/src/main/java/nl/xguard/flic2/service/IFlic2Service.java +0 -13
  162. package/android/src/main/java/nl/xguard/flic2/sharedpreferences/flic2SharedPreferences.java +0 -35
  163. package/android/src/main/java/nl/xguard/flic2/util/ActivityUtil.java +0 -29
  164. package/android/src/main/java/nl/xguard/flic2/util/Consumer.java +0 -12
  165. package/android/src/main/res/drawable/ic_launcher_background.xml +0 -74
  166. package/android/src/main/res/drawable-v24/ic_launcher_foreground.xml +0 -34
  167. package/android/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +0 -5
  168. package/android/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +0 -5
  169. package/android/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  170. package/android/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
  171. package/android/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  172. package/android/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
  173. package/android/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  174. package/android/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
  175. package/android/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  176. package/android/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  177. package/android/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  178. package/android/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  179. package/android/src/main/res/values/ids.xml +0 -5
  180. package/build/generated/source/buildConfig/debug/com/flic2/BuildConfig.java +0 -13
  181. package/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +0 -46
  182. package/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output.json +0 -1
  183. package/build/intermediates/annotation_processor_list/debug/annotationProcessors.json +0 -1
  184. package/build/intermediates/annotations_typedef_file/debug/extractDebugAnnotations/typedefs.txt +0 -0
  185. package/build/intermediates/compile_only_not_namespaced_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  186. package/build/intermediates/incremental/debug-mergeJavaRes/merge-state +0 -0
  187. package/build/intermediates/incremental/debug-mergeJniLibs/merge-state +0 -0
  188. package/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +0 -2
  189. package/build/intermediates/incremental/mergeDebugShaders/merger.xml +0 -2
  190. package/build/intermediates/incremental/packageDebugAssets/merger.xml +0 -2
  191. package/build/intermediates/incremental/packageDebugResources/compile-file-map.properties +0 -15
  192. package/build/intermediates/incremental/packageDebugResources/merger.xml +0 -2
  193. package/build/intermediates/intermediate-jars/debug/classes.jar +0 -0
  194. package/build/intermediates/intermediate-jars/debug/res.jar +0 -0
  195. package/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/flic2/BuildConfig.class +0 -0
  196. package/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/flic2/Flic2Module$1.class +0 -0
  197. package/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/flic2/Flic2Module.class +0 -0
  198. package/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/flic2/Flic2Package.class +0 -0
  199. package/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/flic2/callback/flic2ButtonCallback.class +0 -0
  200. package/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/flic2/communication/ReactEvent.class +0 -0
  201. package/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/flic2/service/Flic2Service$BootUpReceiver.class +0 -0
  202. package/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/flic2/service/Flic2Service$UpdateReceiver.class +0 -0
  203. package/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/flic2/service/Flic2Service.class +0 -0
  204. package/build/intermediates/library_manifest/debug/AndroidManifest.xml +0 -46
  205. package/build/intermediates/merged_manifests/debug/output.json +0 -1
  206. package/build/intermediates/packaged-classes/debug/classes.jar +0 -0
  207. package/build/intermediates/packaged_res/debug/drawable/ic_launcher_background.xml +0 -74
  208. package/build/intermediates/packaged_res/debug/drawable-v24/ic_launcher_foreground.xml +0 -34
  209. package/build/intermediates/packaged_res/debug/mipmap-anydpi-v26/ic_launcher.xml +0 -5
  210. package/build/intermediates/packaged_res/debug/mipmap-anydpi-v26/ic_launcher_round.xml +0 -5
  211. package/build/intermediates/packaged_res/debug/mipmap-hdpi-v4/ic_launcher.png +0 -0
  212. package/build/intermediates/packaged_res/debug/mipmap-hdpi-v4/ic_launcher_round.png +0 -0
  213. package/build/intermediates/packaged_res/debug/mipmap-mdpi-v4/ic_launcher.png +0 -0
  214. package/build/intermediates/packaged_res/debug/mipmap-mdpi-v4/ic_launcher_round.png +0 -0
  215. package/build/intermediates/packaged_res/debug/mipmap-xhdpi-v4/ic_launcher.png +0 -0
  216. package/build/intermediates/packaged_res/debug/mipmap-xhdpi-v4/ic_launcher_round.png +0 -0
  217. package/build/intermediates/packaged_res/debug/mipmap-xxhdpi-v4/ic_launcher.png +0 -0
  218. package/build/intermediates/packaged_res/debug/mipmap-xxhdpi-v4/ic_launcher_round.png +0 -0
  219. package/build/intermediates/packaged_res/debug/mipmap-xxxhdpi-v4/ic_launcher.png +0 -0
  220. package/build/intermediates/packaged_res/debug/mipmap-xxxhdpi-v4/ic_launcher_round.png +0 -0
  221. package/build/intermediates/res/symbol-table-with-package/debug/package-aware-r.txt +0 -1290
  222. package/build/intermediates/symbols/debug/R.txt +0 -1764
  223. package/build/intermediates/transforms/mergeJavaRes/debug/0.jar +0 -0
  224. package/build/intermediates/transforms/mergeJavaRes/debug/__content__.json +0 -1
  225. package/build/intermediates/transforms/mergeJniLibs/debug/__content__.json +0 -1
  226. package/build/intermediates/transforms/stripDebugSymbol/debug/__content__.json +0 -1
  227. package/build/outputs/aar/react-native-flic2-debug.aar +0 -0
  228. package/build/outputs/logs/manifest-merger-debug-report.txt +0 -95
  229. package/flic2Button.js +0 -170
  230. package/index.js +0 -430
  231. package/ios/Flic2.m +0 -611
  232. package/ios/Flic2.xcodeproj/project.pbxproj +0 -320
  233. package/ios/Flic2.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -4
  234. package/ios/Flic2.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  235. package/ios/Flic2.xcodeproj/project.xcworkspace/xcuserdata/wesdewitte.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  236. package/ios/Flic2.xcodeproj/xcshareddata/xcschemes/Flic2.xcscheme +0 -66
  237. package/ios/Flic2.xcodeproj/xcuserdata/wesdewitte.xcuserdatad/xcschemes/xcschememanagement.plist +0 -22
  238. package/ios/Flic2.xcworkspace/contents.xcworkspacedata +0 -7
  239. package/ios/Flic2.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
  240. package/ios/Flic2.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings +0 -5
  241. package/ios/Flic2.xcworkspace/xcuserdata/wesdewitte.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  242. package/ios/Flic2.xcworkspace/xcuserdata/wesdewitte.xcuserdatad/WorkspaceSettings.xcsettings +0 -14
  243. package/react-native-flic2.podspec +0 -26
package/ios/Flic2.mm ADDED
@@ -0,0 +1,610 @@
1
+ #import "Flic2.h"
2
+ #import <React/RCTBridgeModule.h>
3
+
4
+ @implementation Flic2
5
+
6
+ - (instancetype)init {
7
+ self = [super init];
8
+ return self;
9
+ }
10
+
11
+ - (NSNumber *)multiply:(double)a b:(double)b {
12
+
13
+ NSLog(@"multiply: %f * %f", a, b);
14
+ NSNumber *result = @(a * b);
15
+
16
+ [self emitOnMultiply:@{@"a": @(a), @"b": @(b), @"result": result}];
17
+
18
+ return result;
19
+ }
20
+
21
+ // MARK: - FLICManager Methods
22
+
23
+ - (void)initialize:(BOOL)background
24
+ resolve:(RCTPromiseResolveBlock)resolve
25
+ reject:(RCTPromiseRejectBlock)reject
26
+ {
27
+ // Configure the shared manager (this is the correct way)
28
+ FLICManager *manager = [FLICManager configureWithDelegate:self buttonDelegate:self background:background];
29
+
30
+ if (manager) {
31
+ self.manager = manager; // Store reference for our own use
32
+ resolve(@{@"success": @YES, @"message": @"Manager initialized successfully"});
33
+ } else {
34
+ reject(@"INIT_ERROR", @"Failed to initialize FLICManager", nil);
35
+ }
36
+ }
37
+
38
+ - (void)getButtons:(RCTPromiseResolveBlock)resolve
39
+ reject:(RCTPromiseRejectBlock)reject
40
+ {
41
+ if (!self.manager) {
42
+ reject(@"NOT_INITIALIZED", @"Manager not initialized", nil);
43
+ return;
44
+ }
45
+
46
+ if (!self.managerRestored) {
47
+ reject(@"NOT_RESTORED", @"Manager not restored yet. Wait for managerDidRestoreState", nil);
48
+ return;
49
+ }
50
+
51
+ NSArray<FLICButton *> *buttons = [[FLICManager sharedManager] buttons];
52
+ NSMutableArray *buttonDicts = [[NSMutableArray alloc] init];
53
+
54
+ for (FLICButton *button in buttons) {
55
+ [buttonDicts addObject:[self buttonToDictionary:button]];
56
+ }
57
+
58
+ resolve(buttonDicts);
59
+ }
60
+
61
+ - (void)scanForButtons:(RCTPromiseResolveBlock)resolve
62
+ reject:(RCTPromiseRejectBlock)reject
63
+ {
64
+ if (!self.manager) {
65
+ reject(@"NOT_INITIALIZED", @"Manager not initialized", nil);
66
+ return;
67
+ }
68
+
69
+ if (!self.managerRestored) {
70
+ reject(@"NOT_RESTORED", @"Manager not restored yet. Wait for managerDidRestoreState", nil);
71
+ return;
72
+ }
73
+
74
+ NSLog(@"Starting scan");
75
+
76
+ __weak Flic2 *weakSelf = self;
77
+
78
+ [[FLICManager sharedManager] scanForButtonsWithStateChangeHandler:^(FLICButtonScannerStatusEvent event) {
79
+ NSLog(@"Scan state change: %@", [weakSelf scannerEventToString:event]);
80
+ [weakSelf emitOnScanStatusChange:@{
81
+ @"event": @(event),
82
+ @"eventName": [weakSelf scannerEventToString:event]
83
+ }];
84
+ } completion:^(FLICButton * _Nullable button, NSError * _Nullable error) {
85
+ NSLog(@"Scan completion called - button: %@, error: %@", button ? @"YES" : @"NO", error);
86
+
87
+ if (error) {
88
+ NSLog(@"Scan error: %@ (code: %ld)", error.localizedDescription, (long)error.code);
89
+ // Check for specific error codes
90
+ if (error.code == FLICButtonScannerErrorCodeUserCanceled) {
91
+ NSLog(@"Scan was cancelled by user");
92
+ } else if (error.code == FLICButtonScannerErrorCodeNoPublicButtonDiscovered) {
93
+ NSLog(@"No Flic button found in range");
94
+ } else {
95
+ NSLog(@"Scan error: %@", error.localizedDescription);
96
+ }
97
+ } else if (button) {
98
+ NSLog(@"Button found: %@", button.uuid);
99
+
100
+ // Set trigger mode and auto-connect like old implementation
101
+ button.triggerMode = FLICButtonTriggerModeClickAndDoubleClickAndHold;
102
+ [button connect];
103
+
104
+ // Emit button event for discovered button
105
+ [weakSelf emitOnButtonEvent:@{
106
+ @"uuid": button.uuid,
107
+ @"event": @"discovered",
108
+ @"button": [weakSelf buttonToDictionary:button]
109
+ }];
110
+ } else {
111
+ NSLog(@"No button found and no error");
112
+ }
113
+ }];
114
+
115
+ // Return immediately - scan results will come through events
116
+ resolve(@{@"success": @YES, @"message": @"Scan started"});
117
+ }
118
+
119
+ - (void)stopScan:(RCTPromiseResolveBlock)resolve
120
+ reject:(RCTPromiseRejectBlock)reject
121
+ {
122
+ if (!self.manager) {
123
+ reject(@"NOT_INITIALIZED", @"Manager not initialized", nil);
124
+ return;
125
+ }
126
+
127
+ NSLog(@"Stopping scan");
128
+ [[FLICManager sharedManager] stopScan];
129
+ resolve(@{@"success": @YES, @"message": @"Scan stopped"});
130
+ }
131
+
132
+ - (void)forgetButton:(NSString *)uuid
133
+ resolve:(RCTPromiseResolveBlock)resolve
134
+ reject:(RCTPromiseRejectBlock)reject
135
+ {
136
+ if (!self.manager) {
137
+ reject(@"NOT_INITIALIZED", @"Manager not initialized", nil);
138
+ return;
139
+ }
140
+
141
+ // Find button in shared manager's buttons array
142
+ NSArray<FLICButton *> *buttons = [[FLICManager sharedManager] buttons];
143
+ FLICButton *button = nil;
144
+ for (FLICButton *btn in buttons) {
145
+ if ([btn.uuid isEqualToString:uuid]) {
146
+ button = btn;
147
+ break;
148
+ }
149
+ }
150
+
151
+ if (!button) {
152
+ reject(@"BUTTON_NOT_FOUND", @"Button not found", nil);
153
+ return;
154
+ }
155
+
156
+ // Disconnect before forgetting like old implementation
157
+ [button disconnect];
158
+
159
+ [[FLICManager sharedManager] forgetButton:button completion:^(NSUUID *uuid, NSError * _Nullable error) {
160
+ if (error) {
161
+ reject(@"FORGET_ERROR", error.localizedDescription, error);
162
+ } else {
163
+ resolve(@{@"success": @YES, @"message": @"Button forgotten"});
164
+ }
165
+ }];
166
+ }
167
+
168
+ // MARK: - FLICButton Methods
169
+
170
+ - (void)connectButton:(NSString *)uuid
171
+ resolve:(RCTPromiseResolveBlock)resolve
172
+ reject:(RCTPromiseRejectBlock)reject
173
+ {
174
+ // Find button in shared manager's buttons array
175
+ NSArray<FLICButton *> *buttons = [[FLICManager sharedManager] buttons];
176
+ FLICButton *button = nil;
177
+ for (FLICButton *btn in buttons) {
178
+ if ([btn.uuid isEqualToString:uuid]) {
179
+ button = btn;
180
+ break;
181
+ }
182
+ }
183
+
184
+ if (!button) {
185
+ reject(@"BUTTON_NOT_FOUND", @"Button not found", nil);
186
+ return;
187
+ }
188
+
189
+ [button connect];
190
+ resolve(@{@"success": @YES, @"message": @"Connection initiated"});
191
+ }
192
+
193
+ - (void)disconnectButton:(NSString *)uuid
194
+ resolve:(RCTPromiseResolveBlock)resolve
195
+ reject:(RCTPromiseRejectBlock)reject
196
+ {
197
+ // Find button in shared manager's buttons array
198
+ NSArray<FLICButton *> *buttons = [[FLICManager sharedManager] buttons];
199
+ FLICButton *button = nil;
200
+ for (FLICButton *btn in buttons) {
201
+ if ([btn.uuid isEqualToString:uuid]) {
202
+ button = btn;
203
+ break;
204
+ }
205
+ }
206
+
207
+ if (!button) {
208
+ reject(@"BUTTON_NOT_FOUND", @"Button not found", nil);
209
+ return;
210
+ }
211
+
212
+ [button disconnect];
213
+ resolve(@{@"success": @YES, @"message": @"Disconnection initiated"});
214
+ }
215
+
216
+ - (void)setTriggerMode:(NSString *)uuid mode:(NSInteger)mode
217
+ resolve:(RCTPromiseResolveBlock)resolve
218
+ reject:(RCTPromiseRejectBlock)reject
219
+ {
220
+ // Find button in shared manager's buttons array
221
+ NSArray<FLICButton *> *buttons = [[FLICManager sharedManager] buttons];
222
+ FLICButton *button = nil;
223
+ for (FLICButton *btn in buttons) {
224
+ if ([btn.uuid isEqualToString:uuid]) {
225
+ button = btn;
226
+ break;
227
+ }
228
+ }
229
+
230
+ if (!button) {
231
+ reject(@"BUTTON_NOT_FOUND", @"Button not found", nil);
232
+ return;
233
+ }
234
+
235
+ button.triggerMode = (FLICButtonTriggerMode)mode;
236
+ resolve(@{@"success": @YES, @"message": @"Trigger mode set"});
237
+ }
238
+
239
+ - (void)setLatencyMode:(NSString *)uuid mode:(NSInteger)mode
240
+ resolve:(RCTPromiseResolveBlock)resolve
241
+ reject:(RCTPromiseRejectBlock)reject
242
+ {
243
+ // Find button in shared manager's buttons array
244
+ NSArray<FLICButton *> *buttons = [[FLICManager sharedManager] buttons];
245
+ FLICButton *button = nil;
246
+ for (FLICButton *btn in buttons) {
247
+ if ([btn.uuid isEqualToString:uuid]) {
248
+ button = btn;
249
+ break;
250
+ }
251
+ }
252
+
253
+ if (!button) {
254
+ reject(@"BUTTON_NOT_FOUND", @"Button not found", nil);
255
+ return;
256
+ }
257
+
258
+ button.latencyMode = (FLICLatencyMode)mode;
259
+ resolve(@{@"success": @YES, @"message": @"Latency mode set"});
260
+ }
261
+
262
+ - (void)setNickname:(NSString *)uuid nickname:(NSString *)nickname
263
+ resolve:(RCTPromiseResolveBlock)resolve
264
+ reject:(RCTPromiseRejectBlock)reject
265
+ {
266
+ // Find button in shared manager's buttons array
267
+ NSArray<FLICButton *> *buttons = [[FLICManager sharedManager] buttons];
268
+ FLICButton *button = nil;
269
+ for (FLICButton *btn in buttons) {
270
+ if ([btn.uuid isEqualToString:uuid]) {
271
+ button = btn;
272
+ break;
273
+ }
274
+ }
275
+
276
+ if (!button) {
277
+ reject(@"BUTTON_NOT_FOUND", @"Button not found", nil);
278
+ return;
279
+ }
280
+
281
+ button.nickname = nickname;
282
+ resolve(@{@"success": @YES, @"message": @"Nickname set"});
283
+ }
284
+
285
+ // MARK: - Helper Methods
286
+
287
+ - (void)connectAllKnownButtons:(RCTPromiseResolveBlock)resolve
288
+ reject:(RCTPromiseRejectBlock)reject
289
+ {
290
+ if (!self.manager) {
291
+ reject(@"NOT_INITIALIZED", @"Manager not initialized", nil);
292
+ return;
293
+ }
294
+
295
+ NSArray<FLICButton *> *buttons = [[FLICManager sharedManager] buttons];
296
+
297
+ for (FLICButton *button in buttons) {
298
+ NSLog(@"Flic2 Connect button: %@", button.name);
299
+ button.triggerMode = FLICButtonTriggerModeClickAndDoubleClickAndHold;
300
+ [button connect];
301
+ }
302
+
303
+ resolve(@{@"success": @YES, @"message": @"All buttons connection initiated"});
304
+ }
305
+
306
+ - (void)disconnectAllKnownButtons:(RCTPromiseResolveBlock)resolve
307
+ reject:(RCTPromiseRejectBlock)reject
308
+ {
309
+ if (!self.manager) {
310
+ reject(@"NOT_INITIALIZED", @"Manager not initialized", nil);
311
+ return;
312
+ }
313
+
314
+ NSArray<FLICButton *> *buttons = [[FLICManager sharedManager] buttons];
315
+
316
+ for (FLICButton *button in buttons) {
317
+ NSLog(@"Flic2 disconnect button: %@", button.name);
318
+ [button disconnect];
319
+ }
320
+
321
+ resolve(@{@"success": @YES, @"message": @"All buttons disconnection initiated"});
322
+ }
323
+
324
+ - (void)forgetAllButtons:(RCTPromiseResolveBlock)resolve
325
+ reject:(RCTPromiseRejectBlock)reject
326
+ {
327
+ if (!self.manager) {
328
+ reject(@"NOT_INITIALIZED", @"Manager not initialized", nil);
329
+ return;
330
+ }
331
+
332
+ NSArray<FLICButton *> *buttons = [[FLICManager sharedManager] buttons];
333
+
334
+ for (FLICButton *button in buttons) {
335
+ [button disconnect];
336
+ [[FLICManager sharedManager] forgetButton:button completion:^(NSUUID *uuid, NSError * _Nullable error) {
337
+ // Individual completion handlers not needed for bulk operation
338
+ }];
339
+ }
340
+
341
+ resolve(@{@"success": @YES, @"message": @"All buttons forgotten"});
342
+ }
343
+
344
+ - (void)isScanning:(RCTPromiseResolveBlock)resolve
345
+ reject:(RCTPromiseRejectBlock)reject
346
+ {
347
+ if (!self.manager) {
348
+ reject(@"NOT_INITIALIZED", @"Manager not initialized", nil);
349
+ return;
350
+ }
351
+
352
+ BOOL scanning = [[FLICManager sharedManager] isScanning];
353
+ resolve(@(scanning));
354
+ }
355
+
356
+ // MARK: - FLICManagerDelegate
357
+
358
+ - (void)managerDidRestoreState:(FLICManager *)manager {
359
+ self.managerRestored = YES;
360
+ NSLog(@"Manager state restored - ready for operations");
361
+ [self emitOnManagerStateChange:@{
362
+ @"event": @"restored",
363
+ @"message": @"Manager state restored"
364
+ }];
365
+ }
366
+
367
+ - (void)manager:(FLICManager *)manager didUpdateState:(FLICManagerState)state {
368
+ [self emitOnManagerStateChange:@{
369
+ @"state": @(state),
370
+ @"stateName": [self managerStateToString:state],
371
+ @"event": @"stateChanged"
372
+ }];
373
+ }
374
+
375
+ // MARK: - FLICButtonDelegate
376
+
377
+ - (void)buttonDidConnect:(FLICButton *)button {
378
+ [self emitOnButtonEvent:@{
379
+ @"uuid": button.uuid,
380
+ @"event": @"connected",
381
+ @"button": [self buttonToDictionary:button]
382
+ }];
383
+ }
384
+
385
+ - (void)buttonIsReady:(FLICButton *)button {
386
+ [self emitOnButtonEvent:@{
387
+ @"uuid": button.uuid,
388
+ @"event": @"ready",
389
+ @"button": [self buttonToDictionary:button]
390
+ }];
391
+ }
392
+
393
+ - (void)button:(FLICButton *)button didDisconnectWithError:(NSError * _Nullable)error {
394
+ NSMutableDictionary *eventData = [NSMutableDictionary dictionaryWithDictionary:@{
395
+ @"uuid": button.uuid,
396
+ @"event": @"disconnected",
397
+ @"button": [self buttonToDictionary:button]
398
+ }];
399
+
400
+ if (error) {
401
+ eventData[@"error"] = @{
402
+ @"code": @(error.code),
403
+ @"message": error.localizedDescription
404
+ };
405
+ }
406
+
407
+ [self emitOnButtonEvent:eventData];
408
+ }
409
+
410
+ - (void)button:(FLICButton *)button didFailToConnectWithError:(NSError * _Nullable)error {
411
+ [self emitOnButtonEvent:@{
412
+ @"uuid": button.uuid,
413
+ @"event": @"connectionFailed",
414
+ @"error": @{
415
+ @"code": @(error.code),
416
+ @"message": error.localizedDescription
417
+ },
418
+ @"button": [self buttonToDictionary:button]
419
+ }];
420
+ }
421
+
422
+ - (void)button:(FLICButton *)button didReceiveButtonDown:(BOOL)queued age:(NSInteger)age {
423
+ [self emitOnButtonEvent:@{
424
+ @"uuid": button.uuid,
425
+ @"event": @"buttonDown",
426
+ @"queued": @(queued),
427
+ @"age": @(age),
428
+ @"button": [self buttonToDictionary:button]
429
+ }];
430
+ }
431
+
432
+ - (void)button:(FLICButton *)button didReceiveButtonUp:(BOOL)queued age:(NSInteger)age {
433
+ [self emitOnButtonEvent:@{
434
+ @"uuid": button.uuid,
435
+ @"event": @"buttonUp",
436
+ @"queued": @(queued),
437
+ @"age": @(age),
438
+ @"button": [self buttonToDictionary:button]
439
+ }];
440
+ }
441
+
442
+ - (void)button:(FLICButton *)button didReceiveButtonClick:(BOOL)queued age:(NSInteger)age {
443
+ [self emitOnButtonEvent:@{
444
+ @"uuid": button.uuid,
445
+ @"event": @"click",
446
+ @"queued": @(queued),
447
+ @"age": @(age),
448
+ @"button": [self buttonToDictionary:button]
449
+ }];
450
+ }
451
+
452
+ - (void)button:(FLICButton *)button didReceiveButtonDoubleClick:(BOOL)queued age:(NSInteger)age {
453
+ [self emitOnButtonEvent:@{
454
+ @"uuid": button.uuid,
455
+ @"event": @"doubleClick",
456
+ @"queued": @(queued),
457
+ @"age": @(age),
458
+ @"button": [self buttonToDictionary:button]
459
+ }];
460
+ }
461
+
462
+ - (void)button:(FLICButton *)button didReceiveButtonHold:(BOOL)queued age:(NSInteger)age {
463
+ [self emitOnButtonEvent:@{
464
+ @"uuid": button.uuid,
465
+ @"event": @"hold",
466
+ @"queued": @(queued),
467
+ @"age": @(age),
468
+ @"button": [self buttonToDictionary:button]
469
+ }];
470
+ }
471
+
472
+ - (void)button:(FLICButton *)button didUnpairWithError:(NSError * _Nullable)error {
473
+ [self emitOnButtonEvent:@{
474
+ @"uuid": button.uuid,
475
+ @"event": @"unpaired",
476
+ @"button": [self buttonToDictionary:button]
477
+ }];
478
+ }
479
+
480
+ - (void)button:(FLICButton *)button didUpdateBatteryVoltage:(float)voltage {
481
+ [self emitOnButtonEvent:@{
482
+ @"uuid": button.uuid,
483
+ @"event": @"batteryUpdate",
484
+ @"voltage": @(voltage),
485
+ @"button": [self buttonToDictionary:button]
486
+ }];
487
+ }
488
+
489
+ - (void)button:(FLICButton *)button didUpdateNickname:(NSString *)nickname {
490
+ [self emitOnButtonEvent:@{
491
+ @"uuid": button.uuid,
492
+ @"event": @"nicknameUpdate",
493
+ @"nickname": nickname,
494
+ @"button": [self buttonToDictionary:button]
495
+ }];
496
+ }
497
+
498
+ // MARK: - Helper Methods
499
+
500
+ - (NSDictionary *)buttonToDictionary:(FLICButton *)button {
501
+ return @{
502
+ @"uuid": button.uuid,
503
+ @"identifier": button.identifier.UUIDString,
504
+ @"name": button.name ?: @"",
505
+ @"nickname": button.nickname ?: @"",
506
+ @"bluetoothAddress": button.bluetoothAddress,
507
+ @"serialNumber": button.serialNumber,
508
+ @"state": @(button.state),
509
+ @"stateName": [self buttonStateToString:button.state],
510
+ @"triggerMode": @(button.triggerMode),
511
+ @"triggerModeName": [self triggerModeToString:button.triggerMode],
512
+ @"latencyMode": @(button.latencyMode),
513
+ @"latencyModeName": [self latencyModeToString:button.latencyMode],
514
+ @"pressCount": @(button.pressCount),
515
+ @"firmwareRevision": @(button.firmwareRevision),
516
+ @"isReady": @(button.isReady),
517
+ @"batteryVoltage": @(button.batteryVoltage),
518
+ @"isUnpaired": @(button.isUnpaired)
519
+ };
520
+ }
521
+
522
+ - (NSString *)managerStateToString:(FLICManagerState)state {
523
+ switch (state) {
524
+ case FLICManagerStateUnknown:
525
+ return @"unknown";
526
+ case FLICManagerStateResetting:
527
+ return @"resetting";
528
+ case FLICManagerStateUnsupported:
529
+ return @"unsupported";
530
+ case FLICManagerStateUnauthorized:
531
+ return @"unauthorized";
532
+ case FLICManagerStatePoweredOff:
533
+ return @"poweredOff";
534
+ case FLICManagerStatePoweredOn:
535
+ return @"poweredOn";
536
+ default:
537
+ return @"unknown";
538
+ }
539
+ }
540
+
541
+ - (NSString *)buttonStateToString:(FLICButtonState)state {
542
+ switch (state) {
543
+ case FLICButtonStateDisconnected:
544
+ return @"disconnected";
545
+ case FLICButtonStateConnecting:
546
+ return @"connecting";
547
+ case FLICButtonStateConnected:
548
+ return @"connected";
549
+ case FLICButtonStateDisconnecting:
550
+ return @"disconnecting";
551
+ default:
552
+ return @"unknown";
553
+ }
554
+ }
555
+
556
+ - (NSString *)triggerModeToString:(FLICButtonTriggerMode)mode {
557
+ switch (mode) {
558
+ case FLICButtonTriggerModeClickAndHold:
559
+ return @"clickAndHold";
560
+ case FLICButtonTriggerModeClickAndDoubleClick:
561
+ return @"clickAndDoubleClick";
562
+ case FLICButtonTriggerModeClickAndDoubleClickAndHold:
563
+ return @"clickAndDoubleClickAndHold";
564
+ case FLICButtonTriggerModeClick:
565
+ return @"click";
566
+ default:
567
+ return @"unknown";
568
+ }
569
+ }
570
+
571
+ - (NSString *)latencyModeToString:(FLICLatencyMode)mode {
572
+ switch (mode) {
573
+ case FLICLatencyModeNormal:
574
+ return @"normal";
575
+ case FLICLatencyModeLow:
576
+ return @"low";
577
+ default:
578
+ return @"unknown";
579
+ }
580
+ }
581
+
582
+ - (NSString *)scannerEventToString:(FLICButtonScannerStatusEvent)event {
583
+ switch (event) {
584
+ case FLICButtonScannerStatusEventDiscovered:
585
+ return @"discovered";
586
+ case FLICButtonScannerStatusEventConnected:
587
+ return @"connected";
588
+ case FLICButtonScannerStatusEventVerified:
589
+ return @"verified";
590
+ case FLICButtonScannerStatusEventVerificationFailed:
591
+ return @"verificationFailed";
592
+ default:
593
+ return @"unknown";
594
+ }
595
+ }
596
+
597
+
598
+
599
+ - (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
600
+ (const facebook::react::ObjCTurboModule::InitParams &)params
601
+ {
602
+ return std::make_shared<facebook::react::NativeFlic2SpecJSI>(params);
603
+ }
604
+
605
+ + (NSString *)moduleName
606
+ {
607
+ return @"Flic2";
608
+ }
609
+
610
+ @end
@@ -7,7 +7,7 @@
7
7
  //
8
8
 
9
9
  #import <Foundation/Foundation.h>
10
- #import "FLICEnums.h"
10
+ #import <flic2lib/FLICEnums.h>
11
11
 
12
12
  NS_ASSUME_NONNULL_BEGIN
13
13
 
@@ -8,7 +8,7 @@
8
8
 
9
9
  #import <Foundation/Foundation.h>
10
10
  #import <CoreBluetooth/CoreBluetooth.h>
11
- #import "FLICButton.h"
11
+ #import <flic2lib/FLICButton.h>
12
12
 
13
13
  NS_ASSUME_NONNULL_BEGIN
14
14
 
Binary file
@@ -1,6 +1,6 @@
1
1
  framework module flic2lib {
2
2
  umbrella header "flic2lib.h"
3
-
4
3
  export *
4
+
5
5
  module * { export * }
6
6
  }
Binary file
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+
3
+ import { TurboModuleRegistry } from 'react-native';
4
+
5
+ // MARK: - Event Types
6
+
7
+ // MARK: - Flic2 Types
8
+
9
+ // MARK: - Mode Types
10
+
11
+ // MARK: - Spec Interface
12
+
13
+ export default TurboModuleRegistry.getEnforcing('Flic2');
14
+ //# sourceMappingURL=NativeFlic2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeFlic2.ts"],"mappings":";;AAAA,SACEA,mBAAmB,QAGd,cAAc;;AAErB;;AA+CA;;AAsDA;;AAKA;;AA4CA,eAAeA,mBAAmB,CAACC,YAAY,CAAO,OAAO,CAAC","ignoreList":[]}