react-native-attachment-kit 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +327 -0
  3. package/android/CMakeLists.txt +31 -0
  4. package/android/build.gradle +121 -0
  5. package/android/src/main/AndroidManifest.xml +2 -0
  6. package/android/src/main/libs/rnattachmentkit-release.aar +0 -0
  7. package/android/src/newarch/java/com/rnattachmentkit/RNAttachmentKitModule.kt +1159 -0
  8. package/android/src/newarch/java/com/rnattachmentkit/RNAttachmentKitPackage.kt +37 -0
  9. package/android/src/oldarch/java/com/rnattachmentkit/NativeRNAttachmentKitSpec.kt +19 -0
  10. package/android/src/oldarch/java/com/rnattachmentkit/RNAttachmentKitModule.kt +1142 -0
  11. package/android/src/oldarch/java/com/rnattachmentkit/RNAttachmentKitPackage.kt +19 -0
  12. package/ios/README.md +213 -0
  13. package/ios/RNAttachmentKit.m +132 -0
  14. package/ios/RNAttachmentKit.swift +1787 -0
  15. package/ios/RNAttachmentKit.xcframework/Info.plist +44 -0
  16. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/Assets.car +0 -0
  17. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib +0 -0
  18. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/Base.lproj/LaunchScreen.storyboardc/Info.plist +0 -0
  19. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/Base.lproj/LaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib +0 -0
  20. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/Headers/RNAttachmentKit-Swift.h +581 -0
  21. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/Info.plist +0 -0
  22. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/Modules/RNAttachmentKit.swiftmodule/arm64-apple-ios.abi.json +34376 -0
  23. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/Modules/RNAttachmentKit.swiftmodule/arm64-apple-ios.private.swiftinterface +517 -0
  24. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/Modules/RNAttachmentKit.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
  25. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/Modules/RNAttachmentKit.swiftmodule/arm64-apple-ios.swiftinterface +517 -0
  26. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/Modules/module.modulemap +3 -0
  27. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/Pretendard-SemiBold.otf +0 -0
  28. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/RNAttachmentKit +0 -0
  29. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_crop_reflect~dark.webp +0 -0
  30. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_crop_reflect~light.webp +0 -0
  31. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_crop_rotate~dark.webp +0 -0
  32. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_crop_rotate~light.webp +0 -0
  33. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_drawing_delete~dark.webp +0 -0
  34. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_drawing_delete~light.webp +0 -0
  35. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_drawing_forward~dark.webp +0 -0
  36. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_drawing_forward~light.webp +0 -0
  37. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_drawing_reward~dark.webp +0 -0
  38. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_drawing_reward~light.webp +0 -0
  39. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_editor_crop~dark.webp +0 -0
  40. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_editor_crop~light.webp +0 -0
  41. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_editor_drawing~dark.webp +0 -0
  42. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_editor_drawing~light.webp +0 -0
  43. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_editor_effect~dark.webp +0 -0
  44. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_editor_effect~light.webp +0 -0
  45. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_editor_emoji~dark.webp +0 -0
  46. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_editor_emoji~light.webp +0 -0
  47. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_editor_eraser~dark.webp +0 -0
  48. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_editor_eraser~light.webp +0 -0
  49. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_editor_mosaic~dark.webp +0 -0
  50. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_editor_mosaic~light.webp +0 -0
  51. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_editor_text~dark.webp +0 -0
  52. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_editor_text~light.webp +0 -0
  53. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/_CodeSignature/CodeDirectory +0 -0
  54. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/_CodeSignature/CodeRequirements +0 -0
  55. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/_CodeSignature/CodeResources +498 -0
  56. package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/_CodeSignature/CodeSignature +0 -0
  57. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Assets.car +0 -0
  58. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib +0 -0
  59. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Base.lproj/LaunchScreen.storyboardc/Info.plist +0 -0
  60. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Base.lproj/LaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib +0 -0
  61. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Headers/RNAttachmentKit-Swift.h +1158 -0
  62. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Info.plist +0 -0
  63. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Modules/RNAttachmentKit.swiftmodule/arm64-apple-ios-simulator.abi.json +34376 -0
  64. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Modules/RNAttachmentKit.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +517 -0
  65. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Modules/RNAttachmentKit.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
  66. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Modules/RNAttachmentKit.swiftmodule/arm64-apple-ios-simulator.swiftinterface +517 -0
  67. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Modules/RNAttachmentKit.swiftmodule/x86_64-apple-ios-simulator.abi.json +34376 -0
  68. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Modules/RNAttachmentKit.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +517 -0
  69. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Modules/RNAttachmentKit.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
  70. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Modules/RNAttachmentKit.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +517 -0
  71. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Modules/module.modulemap +3 -0
  72. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Pretendard-SemiBold.otf +0 -0
  73. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/RNAttachmentKit +0 -0
  74. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_crop_reflect~dark.webp +0 -0
  75. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_crop_reflect~light.webp +0 -0
  76. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_crop_rotate~dark.webp +0 -0
  77. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_crop_rotate~light.webp +0 -0
  78. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_drawing_delete~dark.webp +0 -0
  79. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_drawing_delete~light.webp +0 -0
  80. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_drawing_forward~dark.webp +0 -0
  81. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_drawing_forward~light.webp +0 -0
  82. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_drawing_reward~dark.webp +0 -0
  83. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_drawing_reward~light.webp +0 -0
  84. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_editor_crop~dark.webp +0 -0
  85. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_editor_crop~light.webp +0 -0
  86. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_editor_drawing~dark.webp +0 -0
  87. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_editor_drawing~light.webp +0 -0
  88. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_editor_effect~dark.webp +0 -0
  89. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_editor_effect~light.webp +0 -0
  90. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_editor_emoji~dark.webp +0 -0
  91. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_editor_emoji~light.webp +0 -0
  92. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_editor_eraser~dark.webp +0 -0
  93. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_editor_eraser~light.webp +0 -0
  94. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_editor_mosaic~dark.webp +0 -0
  95. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_editor_mosaic~light.webp +0 -0
  96. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_editor_text~dark.webp +0 -0
  97. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_editor_text~light.webp +0 -0
  98. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/_CodeSignature/CodeDirectory +0 -0
  99. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/_CodeSignature/CodeRequirements +0 -0
  100. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/_CodeSignature/CodeResources +553 -0
  101. package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/_CodeSignature/CodeSignature +0 -0
  102. package/ios/RNAttachmentKitAssets/Assets.xcassets/AccentColor.colorset/Contents.json +11 -0
  103. package/ios/RNAttachmentKitAssets/Assets.xcassets/AppIcon.appiconset/Contents.json +13 -0
  104. package/ios/RNAttachmentKitAssets/Assets.xcassets/Contents.json +6 -0
  105. package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_back.imageset/Contents.json +24 -0
  106. package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_back.imageset/ic_back_dark.png +0 -0
  107. package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_back.imageset/ic_back_normal.png +0 -0
  108. package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_drawing_delete.imageset/Contents.json +56 -0
  109. package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_drawing_delete.imageset/delete_dark.webp +0 -0
  110. package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_drawing_delete.imageset/delete_normal.webp +0 -0
  111. package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_drawing_forward.imageset/Contents.json +56 -0
  112. package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_drawing_forward.imageset/forward_dark.webp +0 -0
  113. package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_drawing_forward.imageset/forward_normal.webp +0 -0
  114. package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_drawing_reward.imageset/Contents.json +56 -0
  115. package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_drawing_reward.imageset/reward_dark.webp +0 -0
  116. package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_drawing_reward.imageset/reward_normal.webp +0 -0
  117. package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_editor_crop.imageset/Contents.json +52 -0
  118. package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_editor_crop.imageset/crop_dark.webp +0 -0
  119. package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_editor_crop.imageset/crop_normal.webp +0 -0
  120. package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_editor_drawing.imageset/Contents.json +52 -0
  121. package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_editor_drawing.imageset/drawing_dark.webp +0 -0
  122. package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_editor_drawing.imageset/drawing_normal.webp +0 -0
  123. package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_editor_effect.imageset/Contents.json +52 -0
  124. package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_editor_effect.imageset/effect_dark.webp +0 -0
  125. package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_editor_effect.imageset/effect_normal.webp +0 -0
  126. package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_editor_emoji.imageset/Contents.json +52 -0
  127. package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_editor_emoji.imageset/emoji_dark.webp +0 -0
  128. package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_editor_emoji.imageset/emoji_normal.webp +0 -0
  129. package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_editor_text.imageset/Contents.json +52 -0
  130. package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_editor_text.imageset/text_dark.webp +0 -0
  131. package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_editor_text.imageset/text_norml.webp +0 -0
  132. package/ios/RNAttachmentKitAssets/Assets.xcassets/rotate_icon.imageset/Contents.json +32 -0
  133. package/ios/RNAttachmentKitAssets/Assets.xcassets/rotate_icon.imageset/rotate_dark.png +0 -0
  134. package/ios/RNAttachmentKitAssets/Assets.xcassets/rotate_icon.imageset/rotate_normal.png +0 -0
  135. package/ios/RNAttachmentKitAssets/Fonts/Pretendard-SemiBold.otf +0 -0
  136. package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_crop_reflect~dark.webp +0 -0
  137. package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_crop_reflect~light.webp +0 -0
  138. package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_crop_rotate~dark.webp +0 -0
  139. package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_crop_rotate~light.webp +0 -0
  140. package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_drawing_delete~dark.webp +0 -0
  141. package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_drawing_delete~light.webp +0 -0
  142. package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_drawing_forward~dark.webp +0 -0
  143. package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_drawing_forward~light.webp +0 -0
  144. package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_drawing_reward~dark.webp +0 -0
  145. package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_drawing_reward~light.webp +0 -0
  146. package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_editor_crop~dark.webp +0 -0
  147. package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_editor_crop~light.webp +0 -0
  148. package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_editor_drawing~dark.webp +0 -0
  149. package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_editor_drawing~light.webp +0 -0
  150. package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_editor_effect~dark.webp +0 -0
  151. package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_editor_effect~light.webp +0 -0
  152. package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_editor_emoji~dark.webp +0 -0
  153. package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_editor_emoji~light.webp +0 -0
  154. package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_editor_eraser~dark.webp +0 -0
  155. package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_editor_eraser~light.webp +0 -0
  156. package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_editor_mosaic~dark.webp +0 -0
  157. package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_editor_mosaic~light.webp +0 -0
  158. package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_editor_text~dark.webp +0 -0
  159. package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_editor_text~light.webp +0 -0
  160. package/package.json +68 -0
  161. package/react-native-attachment-kit.podspec +51 -0
  162. package/react-native.config.js +14 -0
  163. package/src/NativeAttachmentKit.ts +26 -0
  164. package/src/index.d.ts +56 -0
  165. package/src/index.ts +359 -0
  166. package/src/types.ts +317 -0
package/src/types.ts ADDED
@@ -0,0 +1,317 @@
1
+ /** 모듈이 번역을 내장한 언어 코드 (ISO 639-1, 59개) */
2
+ export type SupportedLanguageCode = "af" | "ar" | "be" | "bg" | "bn" | "ca" | "cs" | "cy" | "da" | "de" | "el" | "en" | "eo" | "es" | "et" | "fa" | "fi" | "fr" | "ga" | "gl" | "gu" | "he" | "hi" | "hr" | "ht" | "hu" | "id" | "is" | "it" | "ja" | "ka" | "kn" | "ko" | "lt" | "lv" | "mk" | "mr" | "ms" | "mt" | "nl" | "no" | "pl" | "pt" | "ro" | "ru" | "sk" | "sl" | "sq" | "sv" | "sw" | "ta" | "te" | "th" | "tl" | "tr" | "uk" | "ur" | "vi" | "zh"
3
+
4
+ /** languageCode 옵션 타입 — 지원 코드 자동완성 + 지역 코드가 붙은 값("pt-BR", "zh_Hans")도 허용 */
5
+ export type LanguageCode = SupportedLanguageCode | (string & {})
6
+
7
+ export interface ImageResult {
8
+ originalUri: string // 원본 URI (ph:// 또는 file://)
9
+ originalFileUri?: string // 원본 해상도의 파일 URI (file://) - 선택적
10
+ originalWidth: number // 원본 width
11
+ originalHeight: number // 원본 height
12
+ uri?: string // resize된 이미지 URI (file://) - 선택적
13
+ width?: number // resize된 width
14
+ height?: number // resize된 height
15
+ type: string // mime type
16
+ caption?: string // 편집기에서 입력한 캡션
17
+ fileName?: string // 파일명
18
+ fileExtension?: string // 확장자
19
+ fileSize?: number // 파일 크기 (bytes)
20
+ }
21
+
22
+ export interface SourceRect {
23
+ x: number
24
+ y: number
25
+ width: number
26
+ height: number
27
+ }
28
+
29
+ export interface GalleryOptions {
30
+ maxSelection?: number
31
+ maxWidth?: number // 최대 width
32
+ maxHeight?: number // 최대 height
33
+ mediaType?: "photo" | "video" | "all"
34
+ quality?: number
35
+ allItemsText?: string
36
+ selectedItemsText?: string
37
+ doneButtonText?: string
38
+ recentsAlbumText?: string
39
+ /** 지원 언어 코드(59개). "pt-BR", "zh-Hant", "iw" 같은 값도 받아서 지원 코드로 정규화하고, 지원하지 않으면 영어(en)로 표시합니다. */
40
+ languageCode?: LanguageCode
41
+ autoCloseOnSelect?: boolean
42
+ /**
43
+ * 선택 방식.
44
+ * - 'single': 한 장 즉시 선택형 (기존 maxSelection 0/1 동작 — 탭하면 바로 반환, 편집 ON 이면 탭 → 편집 → 전송)
45
+ * - 'multi' : 체크(번호 배지) → (필요하면 편집) → 완료. maxSelection 이 1 이어도 멀티와 똑같이 동작하고,
46
+ * 1장일 때 다른 사진을 고르면 기존 선택과 교체됩니다. autoCloseOnSelect 는 무시되며 maxSelection 생략/1 미만이면 1장.
47
+ * 생략 시 기존 규칙으로 판단: autoCloseOnSelect 또는 maxSelection <= 1 → 단일, 그 외 멀티 (하위 호환)
48
+ */
49
+ selectionMode?: "single" | "multi"
50
+ enableEditor?: boolean // 단일 이미지 선택 시 편집기 활성화 여부
51
+ profileMode?: boolean // 1:1 프로필 크롭 모드 활성화 여부
52
+ themeColor?: string // 테마 컬러 지정 (ex: "#FFEB3B")
53
+ asyncProcessing?: boolean // 완전 비동기 이벤트 리턴 여부
54
+ onSelectionChange?: (event: SelectionChangeEvent) => void
55
+ onImageProcessed?: (event: any) => void
56
+ openDuration?: number
57
+ closeDuration?: number
58
+ }
59
+
60
+ export interface ViewerOptions {
61
+ images: string[]
62
+ placeholderImages?: string[]
63
+ /**
64
+ * images 와 같은 순서의 로컬 캐시 파일 경로(절대 경로, file:// 없음). 원격 URL 사진에 대해:
65
+ * 파일이 있으면 네트워크 없이 그 파일을 그리고, 없으면 내려받은 원본 바이트를 그 경로에 저장합니다.
66
+ * (앱이 캐시를 한 곳에서 관리하기 위한 옵션 — 항목이 null/빈 문자열이면 해당 사진은 기존 방식)
67
+ */
68
+ cacheFiles?: (string | null)[]
69
+ initialIndex?: number
70
+ themeColor?: string // Added themeColor for Android
71
+ title?: string
72
+ animationType?: 'slide' | 'fade' | 'zoom'
73
+ closeAnimationType?: 'slide' | 'fade' | 'zoom'
74
+ sourceRect?: SourceRect
75
+ sourceBorderRadius?: number
76
+ sourceBackgroundColor?: string
77
+ sourceBorderCorners?: ('topLeft' | 'topRight' | 'bottomLeft' | 'bottomRight')[]
78
+ hideSourceImage?: boolean
79
+ onPageSelected?: (index: number) => void
80
+ onViewerWillClose?: () => void
81
+ /**
82
+ * 상단바에 저장/공유/삭제 아이콘 3개를 표시할지 여부. 기본값 true.
83
+ */
84
+ showActionButtons?: boolean
85
+ /** 여러 장(묶음사진)일 때 저장 액션시트에 쓰는 문구들 - 기본값은 한국어. */
86
+ saveAllText?: string
87
+ saveOneText?: string
88
+ shareAllText?: string
89
+ shareOneText?: string
90
+ actionCancelText?: string
91
+ /**
92
+ * 삭제 확인 알럿 문구 - 넘기지 않으면 languageCode(59개 언어 지원, 그 외 언어는 en 폴백)에
93
+ * 맞춰 네이티브 쪽 기본 다국어 문구가 자동으로 적용됩니다.
94
+ */
95
+ deleteConfirmTitle?: string
96
+ deleteConfirmMessage?: string
97
+ /**
98
+ * 여러 장(묶음사진)을 삭제할 때만 쓰이는 경고 문구 - "삭제하면 전체가 함께 삭제된다"는
99
+ * 걸 미리 알려줍니다. deleteConfirmMessage를 넘기면 그게 항상 우선이고, 이건 아무 것도
100
+ * 안 넘겼을 때 사진이 2장 이상일 경우에만 자동으로 붙습니다.
101
+ */
102
+ deleteConfirmGroupMessage?: string
103
+ deleteButtonText?: string
104
+ /**
105
+ * patch405: 삭제 방식 선택지. 넘기면 삭제 확인 팝업에 "삭제" 버튼 하나 대신 이 항목들이
106
+ * (위에서부터 순서대로) 표시되고, 고른 항목의 key 가 onImageDeleted 의 option 으로 전달됩니다.
107
+ * 예) [{ key: 'everyone', label: '나와 상대에게서 삭제', destructive: true },
108
+ * { key: 'me', label: '나만 삭제', destructive: true }]
109
+ * 넘기지 않으면 기존처럼 [취소] [삭제] 확인 팝업입니다(option 없음).
110
+ */
111
+ deleteOptions?: { key: string; label: string; destructive?: boolean }[]
112
+ /**
113
+ * 삭제 확인 알럿에서 사용자가 삭제를 눌렀을 때 호출됩니다. 네이티브는 실제 데이터를
114
+ * 지우지 않고(뷰어는 그대로 닫힘) 이 콜백으로만 알리므로, 메시지/사진을 실제로
115
+ * 지우는 처리는 RN 쪽에서 담당해야 합니다.
116
+ */
117
+ onImageDeleted?: (event: { index: number; url: string; option?: string }) => void
118
+ /**
119
+ * Android only. 열기 애니메이션이 완전히 끝난 시점에 한 번 호출됩니다.
120
+ * 배경(호스트 화면) 스크롤 보정을 이 콜백 안에서 실행하면, 애니메이션 도중에 보정이
121
+ * 끼어들어 보이지 않고 뷰어가 화면을 완전히 가린 상태에서 안전하게 적용할 수 있습니다.
122
+ */
123
+ onViewerOpened?: () => void
124
+ openDuration?: number
125
+ closeDuration?: number
126
+ /**
127
+ * Android only. When true, opens the viewer as a full-screen DialogFragment
128
+ * instead of a separate Activity. Avoids RN host Activity pausing (onPause),
129
+ * which otherwise makes AppState briefly report background and the underlying
130
+ * RN UI temporarily uncontrollable while the viewer is open.
131
+ *
132
+ * Known limitation: the DialogFragment is still a separate Android Window on
133
+ * top of the host Activity's Window. While it's fully shown, the host Window
134
+ * can be treated as not-visible by the system and its own render traversals
135
+ * (layout/draw) can be skipped, so background RN view changes (e.g. list
136
+ * scroll correction) may not actually take effect on screen until the
137
+ * DialogFragment closes. See useOverlayViewer for a fix.
138
+ * Default: false (existing Activity-based viewer).
139
+ */
140
+ useDialogViewer?: boolean
141
+ /**
142
+ * Android only. When true, opens the viewer as a View added directly on top
143
+ * of the host Activity's existing Window (no separate Activity or Dialog
144
+ * Window at all). This fixes the DialogFragment limitation above: since
145
+ * there's only one Window, background RN view changes made while the viewer
146
+ * is open are reflected immediately (same render tree, same frame).
147
+ * Also avoids any window-focus-change AppState blips entirely.
148
+ * Trade-off: back-press handling, touch blocking, and system-bar insets are
149
+ * managed manually rather than via Activity/DialogFragment lifecycle, so
150
+ * this needs extra QA (rotation, back gesture, other overlays like keyboard).
151
+ * If both useDialogViewer and useOverlayViewer are true, useOverlayViewer wins.
152
+ * Default: false.
153
+ */
154
+ useOverlayViewer?: boolean
155
+ }
156
+
157
+ export interface SelectionChangeEvent {
158
+ selectedCount: number
159
+ maxSelection: number
160
+ }
161
+
162
+ export interface EditorOptions {
163
+ uri: string // 편집할 이미지의 uri (originalUri)
164
+ editedFileUri?: string // 이전에 편집한 이미지의 파일 경로
165
+ themeColor?: string // 편집기 테마 컬러
166
+ maxWidth?: number // 최대 width
167
+ maxHeight?: number // 최대 height
168
+ openDuration?: number
169
+ closeDuration?: number
170
+ }
171
+
172
+ export interface RNAttachmentKit {
173
+ init(licenseKey: string): Promise<boolean>
174
+ openGallery(options?: GalleryOptions): Promise<ImageResult[]>
175
+ openEditor(options: EditorOptions): Promise<ImageResult>
176
+ openViewer(options: ViewerOptions): Promise<void>
177
+ updateViewerSourceRect(rect: SourceRect): Promise<void>
178
+ closeGallery(): Promise<boolean>
179
+ addSelectionChangeListener(listener: (event: SelectionChangeEvent) => void): () => void
180
+ getDefaultAnimationConfig(): Promise<{ galleryOpen: number, galleryClose: number, editorOpen: number, editorClose: number, viewerOpen: number, viewerClose: number }>
181
+ }
182
+
183
+ // MARK: - Media gallery (사진 모아보기)
184
+
185
+ /** 갤러리 항목. 썸네일은 파일 경로만 주고받습니다(base64 금지). */
186
+ export interface MediaGalleryItem {
187
+ /** 고유 키 (예: "<seq>_<idx>") — 같은 id 가 다시 오면 무시 */
188
+ id: string
189
+ /** 함께 삭제되는 묶음 (예: "<seq>"). 생략 시 id */
190
+ groupId?: string
191
+ /** ms — 월 표시용 */
192
+ timestamp?: number
193
+ /** file:// 썸네일 (그리드·뷰어 플레이스홀더) */
194
+ thumbUri?: string
195
+ /** 원본 (http(s) 또는 file://) */
196
+ imageUri: string
197
+ /** 원본 캐시 경로 (openViewer 의 cacheFiles 와 같은 의미) */
198
+ cacheFile?: string
199
+ /** 삭제 메뉴 구성용 */
200
+ isMine?: boolean
201
+ width?: number
202
+ height?: number
203
+ }
204
+
205
+ export interface MediaGalleryDeleteOption {
206
+ key: string
207
+ label: string
208
+ destructive?: boolean
209
+ }
210
+
211
+ /**
212
+ * 기본 모양·색은 피커 갤러리(openGallery)와 같습니다. isDark 로 다크/라이트 세트를 고르고,
213
+ * 아래 색은 넘긴 것만 덮어씁니다 (생략 권장 — 피커와 똑같이 보이게).
214
+ */
215
+ export interface MediaGalleryTheme {
216
+ /** 다크 모드 (생략 시 시스템 설정) */
217
+ isDark: boolean
218
+ /** 시트·칸 사이 배경 */
219
+ screenBg?: string
220
+ /** 사진 로딩 전 칸 색 */
221
+ cellBg?: string
222
+ /** 스켈레톤 */
223
+ skeleton?: string
224
+ titleColor?: string
225
+ subTextColor?: string
226
+ }
227
+
228
+ export interface MediaGalleryViewerOptions {
229
+ themeColor?: string
230
+ deleteOptionsForMine?: MediaGalleryDeleteOption[]
231
+ deleteOptionsForOthers?: MediaGalleryDeleteOption[]
232
+ /** 뷰어 제목 = 사진 날짜 */
233
+ titleFormat?: "date" | "none"
234
+ /** 기존 openViewer 문구 옵션(saveAllText 등)도 그대로 전달 */
235
+ [key: string]: any
236
+ }
237
+
238
+ export interface MediaGalleryItemDeletedEvent {
239
+ galleryId: string
240
+ id: string
241
+ groupId: string
242
+ /** 선택한 삭제 옵션 key */
243
+ option: string
244
+ }
245
+
246
+ export interface MediaGalleryNeedPageEvent {
247
+ galleryId: string
248
+ cursor: string | null
249
+ }
250
+
251
+ export interface MediaGalleryGridSizeChangedEvent {
252
+ galleryId: string
253
+ /** 사용자가 고른 그리드 크기 */
254
+ gridSize: MediaGalleryGridSize
255
+ }
256
+
257
+ export interface MediaGalleryClosedEvent {
258
+ galleryId: string
259
+ }
260
+
261
+ /** 사진 모아보기 그리드 크기 — 한 줄에 3 / 4 / 5칸 */
262
+ export type MediaGalleryGridSize = "3x3" | "4x4" | "5x5"
263
+
264
+ export interface MediaGalleryOptions {
265
+ /** 이벤트 구분용 (생략 시 자동 생성해서 반환) */
266
+ galleryId?: string
267
+ /** (A) 네이티브에 등록된 데이터 소스 이름 (예: 'tinodeChatPhotos', 데모: 'turboDemo') */
268
+ dataSource?: string
269
+ /** (A) 데이터 소스에 그대로 전달 (예: { topic }, 데모: { count: 10000 }) */
270
+ dataSourceParams?: Record<string, any>
271
+ /** (B) JS 공급 — 첫 페이지 */
272
+ initialItems?: MediaGalleryItem[]
273
+ /** (B) 더 있으면 true → 끝에 가까울 때 onNeedPage 호출 */
274
+ hasMore?: boolean
275
+ nextCursor?: string
276
+ /** 상단 바 제목 */
277
+ title: string
278
+ /**
279
+ * 기본 그리드 크기 (사용자가 아직 고른 적이 없을 때). 생략 시 "3x3" (피커와 동일).
280
+ * - "3x3": 한 줄 3칸 / "4x4": 한 줄 4칸 / "5x5": 한 줄 5칸
281
+ * 사용자는 열린 화면의 상단 바 그리드 버튼으로 언제든 바꿀 수 있고, 고른 크기는 기기에 저장되어
282
+ * 다음에 열 때 이 옵션보다 우선합니다. columns 보다 우선합니다.
283
+ */
284
+ gridSize?: MediaGalleryGridSize
285
+ /** @deprecated gridSize 를 쓰세요. 기본 한 줄 칸 수 (gridSize 가 있거나 사용자가 고른 값이 있으면 무시) */
286
+ columns?: number
287
+ /** 칸 사이 간격 pt/dp (기본: 피커와 동일) */
288
+ spacing?: number
289
+ theme?: Partial<MediaGalleryTheme>
290
+ /** 월 표시 로케일 */
291
+ languageCode?: LanguageCode
292
+ emptyTitle?: string
293
+ emptySubtitle?: string
294
+ /** 상단 오른쪽 개수, 더 있으면 more 형식 ("{count}" 치환, 기본 "{count}+") */
295
+ countFormat?: { more: string }
296
+ /** 사진을 누르면 그 칸에서 줌으로 열리는 뷰어 설정 (닫으면 지금 보던 사진의 칸으로 돌아감) */
297
+ viewer?: MediaGalleryViewerOptions
298
+ /** 뷰어에서 삭제를 고르면 호출. 모듈은 그 groupId 묶음을 화면에서 이미 지운 상태 — 실제 삭제는 앱이 처리 */
299
+ onItemDeleted?: (event: MediaGalleryItemDeletedEvent) => void
300
+ /** (B) 다음 페이지 요청 → appendGalleryItems 로 응답 */
301
+ onNeedPage?: (event: MediaGalleryNeedPageEvent) => void
302
+ onClosed?: (event: MediaGalleryClosedEvent) => void
303
+ /** 사용자가 상단 바 그리드 버튼으로 크기를 바꿨을 때 (모듈이 이미 기기에 저장함 — 앱이 따로 저장하려면 사용) */
304
+ onGridSizeChanged?: (event: MediaGalleryGridSizeChangedEvent) => void
305
+ }
306
+
307
+ export interface MediaGalleryAppendPayload {
308
+ galleryId: string
309
+ items: MediaGalleryItem[]
310
+ nextCursor?: string
311
+ hasMore: boolean
312
+ }
313
+
314
+ export interface MediaGalleryRemovePayload {
315
+ galleryId: string
316
+ groupIds: string[]
317
+ }