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.
- package/CHANGELOG.md +19 -0
- package/README.md +327 -0
- package/android/CMakeLists.txt +31 -0
- package/android/build.gradle +121 -0
- package/android/src/main/AndroidManifest.xml +2 -0
- package/android/src/main/libs/rnattachmentkit-release.aar +0 -0
- package/android/src/newarch/java/com/rnattachmentkit/RNAttachmentKitModule.kt +1159 -0
- package/android/src/newarch/java/com/rnattachmentkit/RNAttachmentKitPackage.kt +37 -0
- package/android/src/oldarch/java/com/rnattachmentkit/NativeRNAttachmentKitSpec.kt +19 -0
- package/android/src/oldarch/java/com/rnattachmentkit/RNAttachmentKitModule.kt +1142 -0
- package/android/src/oldarch/java/com/rnattachmentkit/RNAttachmentKitPackage.kt +19 -0
- package/ios/README.md +213 -0
- package/ios/RNAttachmentKit.m +132 -0
- package/ios/RNAttachmentKit.swift +1787 -0
- package/ios/RNAttachmentKit.xcframework/Info.plist +44 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/Assets.car +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/Base.lproj/LaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/Base.lproj/LaunchScreen.storyboardc/Info.plist +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/Base.lproj/LaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/Headers/RNAttachmentKit-Swift.h +581 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/Info.plist +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/Modules/RNAttachmentKit.swiftmodule/arm64-apple-ios.abi.json +34376 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/Modules/RNAttachmentKit.swiftmodule/arm64-apple-ios.private.swiftinterface +517 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/Modules/RNAttachmentKit.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/Modules/RNAttachmentKit.swiftmodule/arm64-apple-ios.swiftinterface +517 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/Modules/module.modulemap +3 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/Pretendard-SemiBold.otf +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/RNAttachmentKit +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_crop_reflect~dark.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_crop_reflect~light.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_crop_rotate~dark.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_crop_rotate~light.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_drawing_delete~dark.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_drawing_delete~light.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_drawing_forward~dark.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_drawing_forward~light.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_drawing_reward~dark.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_drawing_reward~light.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_editor_crop~dark.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_editor_crop~light.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_editor_drawing~dark.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_editor_drawing~light.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_editor_effect~dark.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_editor_effect~light.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_editor_emoji~dark.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_editor_emoji~light.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_editor_eraser~dark.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_editor_eraser~light.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_editor_mosaic~dark.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_editor_mosaic~light.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_editor_text~dark.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/ToolbarIcons/ic_editor_text~light.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/_CodeSignature/CodeDirectory +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/_CodeSignature/CodeRequirements +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/_CodeSignature/CodeResources +498 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64/RNAttachmentKit.framework/_CodeSignature/CodeSignature +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Assets.car +0 -0
- 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
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Base.lproj/LaunchScreen.storyboardc/Info.plist +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Base.lproj/LaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Headers/RNAttachmentKit-Swift.h +1158 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Info.plist +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Modules/RNAttachmentKit.swiftmodule/arm64-apple-ios-simulator.abi.json +34376 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Modules/RNAttachmentKit.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +517 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Modules/RNAttachmentKit.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Modules/RNAttachmentKit.swiftmodule/arm64-apple-ios-simulator.swiftinterface +517 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Modules/RNAttachmentKit.swiftmodule/x86_64-apple-ios-simulator.abi.json +34376 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Modules/RNAttachmentKit.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +517 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Modules/RNAttachmentKit.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Modules/RNAttachmentKit.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +517 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Modules/module.modulemap +3 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/Pretendard-SemiBold.otf +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/RNAttachmentKit +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_crop_reflect~dark.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_crop_reflect~light.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_crop_rotate~dark.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_crop_rotate~light.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_drawing_delete~dark.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_drawing_delete~light.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_drawing_forward~dark.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_drawing_forward~light.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_drawing_reward~dark.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_drawing_reward~light.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_editor_crop~dark.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_editor_crop~light.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_editor_drawing~dark.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_editor_drawing~light.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_editor_effect~dark.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_editor_effect~light.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_editor_emoji~dark.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_editor_emoji~light.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_editor_eraser~dark.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_editor_eraser~light.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_editor_mosaic~dark.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_editor_mosaic~light.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_editor_text~dark.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/ToolbarIcons/ic_editor_text~light.webp +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/_CodeSignature/CodeDirectory +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/_CodeSignature/CodeRequirements +0 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/_CodeSignature/CodeResources +553 -0
- package/ios/RNAttachmentKit.xcframework/ios-arm64_x86_64-simulator/RNAttachmentKit.framework/_CodeSignature/CodeSignature +0 -0
- package/ios/RNAttachmentKitAssets/Assets.xcassets/AccentColor.colorset/Contents.json +11 -0
- package/ios/RNAttachmentKitAssets/Assets.xcassets/AppIcon.appiconset/Contents.json +13 -0
- package/ios/RNAttachmentKitAssets/Assets.xcassets/Contents.json +6 -0
- package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_back.imageset/Contents.json +24 -0
- package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_back.imageset/ic_back_dark.png +0 -0
- package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_back.imageset/ic_back_normal.png +0 -0
- package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_drawing_delete.imageset/Contents.json +56 -0
- package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_drawing_delete.imageset/delete_dark.webp +0 -0
- package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_drawing_delete.imageset/delete_normal.webp +0 -0
- package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_drawing_forward.imageset/Contents.json +56 -0
- package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_drawing_forward.imageset/forward_dark.webp +0 -0
- package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_drawing_forward.imageset/forward_normal.webp +0 -0
- package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_drawing_reward.imageset/Contents.json +56 -0
- package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_drawing_reward.imageset/reward_dark.webp +0 -0
- package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_drawing_reward.imageset/reward_normal.webp +0 -0
- package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_editor_crop.imageset/Contents.json +52 -0
- package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_editor_crop.imageset/crop_dark.webp +0 -0
- package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_editor_crop.imageset/crop_normal.webp +0 -0
- package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_editor_drawing.imageset/Contents.json +52 -0
- package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_editor_drawing.imageset/drawing_dark.webp +0 -0
- package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_editor_drawing.imageset/drawing_normal.webp +0 -0
- package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_editor_effect.imageset/Contents.json +52 -0
- package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_editor_effect.imageset/effect_dark.webp +0 -0
- package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_editor_effect.imageset/effect_normal.webp +0 -0
- package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_editor_emoji.imageset/Contents.json +52 -0
- package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_editor_emoji.imageset/emoji_dark.webp +0 -0
- package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_editor_emoji.imageset/emoji_normal.webp +0 -0
- package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_editor_text.imageset/Contents.json +52 -0
- package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_editor_text.imageset/text_dark.webp +0 -0
- package/ios/RNAttachmentKitAssets/Assets.xcassets/ic_editor_text.imageset/text_norml.webp +0 -0
- package/ios/RNAttachmentKitAssets/Assets.xcassets/rotate_icon.imageset/Contents.json +32 -0
- package/ios/RNAttachmentKitAssets/Assets.xcassets/rotate_icon.imageset/rotate_dark.png +0 -0
- package/ios/RNAttachmentKitAssets/Assets.xcassets/rotate_icon.imageset/rotate_normal.png +0 -0
- package/ios/RNAttachmentKitAssets/Fonts/Pretendard-SemiBold.otf +0 -0
- package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_crop_reflect~dark.webp +0 -0
- package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_crop_reflect~light.webp +0 -0
- package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_crop_rotate~dark.webp +0 -0
- package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_crop_rotate~light.webp +0 -0
- package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_drawing_delete~dark.webp +0 -0
- package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_drawing_delete~light.webp +0 -0
- package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_drawing_forward~dark.webp +0 -0
- package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_drawing_forward~light.webp +0 -0
- package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_drawing_reward~dark.webp +0 -0
- package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_drawing_reward~light.webp +0 -0
- package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_editor_crop~dark.webp +0 -0
- package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_editor_crop~light.webp +0 -0
- package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_editor_drawing~dark.webp +0 -0
- package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_editor_drawing~light.webp +0 -0
- package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_editor_effect~dark.webp +0 -0
- package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_editor_effect~light.webp +0 -0
- package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_editor_emoji~dark.webp +0 -0
- package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_editor_emoji~light.webp +0 -0
- package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_editor_eraser~dark.webp +0 -0
- package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_editor_eraser~light.webp +0 -0
- package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_editor_mosaic~dark.webp +0 -0
- package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_editor_mosaic~light.webp +0 -0
- package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_editor_text~dark.webp +0 -0
- package/ios/RNAttachmentKitAssets/ToolbarIcons/ic_editor_text~light.webp +0 -0
- package/package.json +68 -0
- package/react-native-attachment-kit.podspec +51 -0
- package/react-native.config.js +14 -0
- package/src/NativeAttachmentKit.ts +26 -0
- package/src/index.d.ts +56 -0
- package/src/index.ts +359 -0
- 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
|
+
}
|