react-native-video-trim 4.0.0 → 5.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 (95) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +124 -83
  3. package/VideoTrim.podspec +4 -4
  4. package/android/build.gradle +15 -54
  5. package/android/gradle.properties +2 -0
  6. package/android/src/main/AndroidManifest.xml +1 -1
  7. package/android/src/main/java/com/videotrim/VideoTrimModule.kt +660 -0
  8. package/android/src/main/java/com/videotrim/VideoTrimPackage.kt +33 -0
  9. package/android/src/main/java/com/{margelo/nitro/videotrim → videotrim}/enums/ErrorCode.java +1 -1
  10. package/android/src/main/java/com/{margelo/nitro/videotrim → videotrim}/interfaces/IVideoTrimmerView.java +1 -1
  11. package/android/src/main/java/com/{margelo/nitro/videotrim → videotrim}/interfaces/VideoTrimListener.java +5 -4
  12. package/android/src/main/java/com/{margelo/nitro/videotrim → videotrim}/utils/MediaMetadataUtil.java +1 -1
  13. package/android/src/main/java/com/{margelo/nitro/videotrim → videotrim}/utils/StorageUtil.java +1 -1
  14. package/android/src/main/java/com/{margelo/nitro/videotrim → videotrim}/utils/VideoTrimmerUtil.java +49 -39
  15. package/android/src/main/java/com/{margelo/nitro/videotrim → videotrim}/widgets/VideoTrimmerView.java +49 -46
  16. package/ios/AssetLoader.h +19 -0
  17. package/ios/AssetLoader.mm +87 -0
  18. package/ios/ErrorCode.h +9 -0
  19. package/ios/ProgressAlertController.h +15 -0
  20. package/ios/ProgressAlertController.mm +78 -0
  21. package/ios/VideoTrim.h +31 -0
  22. package/ios/VideoTrim.mm +663 -0
  23. package/ios/VideoTrimmer.h +67 -0
  24. package/ios/VideoTrimmer.mm +863 -0
  25. package/ios/VideoTrimmerThumb.h +23 -0
  26. package/ios/VideoTrimmerThumb.mm +175 -0
  27. package/ios/VideoTrimmerViewController.h +52 -0
  28. package/ios/VideoTrimmerViewController.mm +533 -0
  29. package/lib/module/NativeVideoTrim.js +5 -0
  30. package/lib/module/NativeVideoTrim.js.map +1 -0
  31. package/lib/module/index.js +59 -34
  32. package/lib/module/index.js.map +1 -1
  33. package/lib/typescript/src/NativeVideoTrim.d.ts +107 -0
  34. package/lib/typescript/src/NativeVideoTrim.d.ts.map +1 -0
  35. package/lib/typescript/src/index.d.ts +21 -10
  36. package/lib/typescript/src/index.d.ts.map +1 -1
  37. package/package.json +15 -18
  38. package/src/NativeVideoTrim.ts +113 -0
  39. package/src/index.tsx +68 -39
  40. package/android/CMakeLists.txt +0 -24
  41. package/android/src/main/cpp/cpp-adapter.cpp +0 -6
  42. package/android/src/main/java/com/margelo/nitro/videotrim/VideoTrim.kt +0 -629
  43. package/android/src/main/java/com/margelo/nitro/videotrim/VideoTrimPackage.kt +0 -22
  44. package/ios/AssetLoader.swift +0 -99
  45. package/ios/ErrorCode.swift +0 -17
  46. package/ios/ProgressAlertController.swift +0 -100
  47. package/ios/VideoTrim.swift +0 -60
  48. package/ios/VideoTrimImpl.swift +0 -860
  49. package/ios/VideoTrimmer.swift +0 -872
  50. package/ios/VideoTrimmerThumb.swift +0 -175
  51. package/ios/VideoTrimmerViewController.swift +0 -557
  52. package/lib/module/VideoTrim.nitro.js +0 -4
  53. package/lib/module/VideoTrim.nitro.js.map +0 -1
  54. package/lib/typescript/src/VideoTrim.nitro.d.ts +0 -240
  55. package/lib/typescript/src/VideoTrim.nitro.d.ts.map +0 -1
  56. package/nitrogen/generated/android/c++/JEditorConfig.hpp +0 -229
  57. package/nitrogen/generated/android/c++/JFileValidationResult.hpp +0 -61
  58. package/nitrogen/generated/android/c++/JFunc_void.hpp +0 -74
  59. package/nitrogen/generated/android/c++/JFunc_void_std__string_std__unordered_map_std__string__std__string_.hpp +0 -89
  60. package/nitrogen/generated/android/c++/JHybridVideoTrimSpec.cpp +0 -131
  61. package/nitrogen/generated/android/c++/JHybridVideoTrimSpec.hpp +0 -67
  62. package/nitrogen/generated/android/kotlin/com/margelo/nitro/videotrim/EditorConfig.kt +0 -70
  63. package/nitrogen/generated/android/kotlin/com/margelo/nitro/videotrim/FileValidationResult.kt +0 -28
  64. package/nitrogen/generated/android/kotlin/com/margelo/nitro/videotrim/Func_void.kt +0 -80
  65. package/nitrogen/generated/android/kotlin/com/margelo/nitro/videotrim/Func_void_std__string_std__unordered_map_std__string__std__string_.kt +0 -80
  66. package/nitrogen/generated/android/kotlin/com/margelo/nitro/videotrim/HybridVideoTrimSpec.kt +0 -82
  67. package/nitrogen/generated/android/kotlin/com/margelo/nitro/videotrim/videotrimOnLoad.kt +0 -35
  68. package/nitrogen/generated/android/videotrim+autolinking.cmake +0 -78
  69. package/nitrogen/generated/android/videotrim+autolinking.gradle +0 -27
  70. package/nitrogen/generated/android/videotrimOnLoad.cpp +0 -50
  71. package/nitrogen/generated/android/videotrimOnLoad.hpp +0 -25
  72. package/nitrogen/generated/ios/VideoTrim+autolinking.rb +0 -60
  73. package/nitrogen/generated/ios/VideoTrim-Swift-Cxx-Bridge.cpp +0 -88
  74. package/nitrogen/generated/ios/VideoTrim-Swift-Cxx-Bridge.hpp +0 -331
  75. package/nitrogen/generated/ios/VideoTrim-Swift-Cxx-Umbrella.hpp +0 -53
  76. package/nitrogen/generated/ios/VideoTrimAutolinking.mm +0 -33
  77. package/nitrogen/generated/ios/VideoTrimAutolinking.swift +0 -25
  78. package/nitrogen/generated/ios/c++/HybridVideoTrimSpecSwift.cpp +0 -11
  79. package/nitrogen/generated/ios/c++/HybridVideoTrimSpecSwift.hpp +0 -116
  80. package/nitrogen/generated/ios/swift/EditorConfig.swift +0 -519
  81. package/nitrogen/generated/ios/swift/FileValidationResult.swift +0 -57
  82. package/nitrogen/generated/ios/swift/Func_void.swift +0 -46
  83. package/nitrogen/generated/ios/swift/Func_void_FileValidationResult.swift +0 -46
  84. package/nitrogen/generated/ios/swift/Func_void_bool.swift +0 -46
  85. package/nitrogen/generated/ios/swift/Func_void_double.swift +0 -46
  86. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +0 -46
  87. package/nitrogen/generated/ios/swift/Func_void_std__string_std__unordered_map_std__string__std__string_.swift +0 -54
  88. package/nitrogen/generated/ios/swift/Func_void_std__vector_std__string_.swift +0 -46
  89. package/nitrogen/generated/ios/swift/HybridVideoTrimSpec.swift +0 -53
  90. package/nitrogen/generated/ios/swift/HybridVideoTrimSpec_cxx.swift +0 -222
  91. package/nitrogen/generated/shared/c++/EditorConfig.hpp +0 -245
  92. package/nitrogen/generated/shared/c++/FileValidationResult.hpp +0 -77
  93. package/nitrogen/generated/shared/c++/HybridVideoTrimSpec.cpp +0 -26
  94. package/nitrogen/generated/shared/c++/HybridVideoTrimSpec.hpp +0 -76
  95. package/src/VideoTrim.nitro.ts +0 -244
@@ -1,175 +0,0 @@
1
- //
2
- // VideoTrimmerThumb.swift
3
- // VideoTrim
4
- //
5
- // Created by Duc Trung Mai on 20/5/25.
6
- //
7
-
8
- import UIKit
9
-
10
- @available(iOS 13.0, *)
11
- class VideoTrimmerThumb: UIView {
12
- private var isActive = false
13
-
14
- private let leadingChevronImageView: UIImageView = {
15
- let imageView = UIImageView(image: UIImage(systemName: "chevron.compact.left"))
16
- imageView.contentMode = .scaleAspectFill
17
- imageView.tintColor = .black
18
- imageView.tintAdjustmentMode = .normal
19
- imageView.translatesAutoresizingMaskIntoConstraints = false
20
- return imageView
21
- }()
22
-
23
- private let trailingChevronView: UIImageView = {
24
- let imageView = UIImageView(image: UIImage(systemName: "chevron.compact.right"))
25
- imageView.contentMode = .scaleAspectFill
26
- imageView.tintColor = .black
27
- imageView.tintAdjustmentMode = .normal
28
- imageView.translatesAutoresizingMaskIntoConstraints = false
29
- return imageView
30
- }()
31
-
32
- private let wrapperView: UIView = {
33
- let view = UIView()
34
- view.translatesAutoresizingMaskIntoConstraints = false
35
- return view
36
- }()
37
-
38
- private let leadingView: UIView = {
39
- let view = UIView()
40
- view.layer.cornerRadius = 6
41
- view.layer.cornerCurve = .continuous
42
- view.layer.maskedCorners = [.layerMinXMaxYCorner, .layerMinXMinYCorner]
43
- view.translatesAutoresizingMaskIntoConstraints = false
44
- return view
45
- }()
46
-
47
- private let trailingView: UIView = {
48
- let view = UIView()
49
- view.layer.cornerRadius = 6
50
- view.layer.cornerCurve = .continuous
51
- view.layer.maskedCorners = [.layerMaxXMaxYCorner, .layerMaxXMinYCorner]
52
- view.translatesAutoresizingMaskIntoConstraints = false
53
- return view
54
- }()
55
-
56
- private let topView: UIView = {
57
- let view = UIView()
58
- view.translatesAutoresizingMaskIntoConstraints = false
59
- return view
60
- }()
61
-
62
- private let bottomView: UIView = {
63
- let view = UIView()
64
- view.translatesAutoresizingMaskIntoConstraints = false
65
- return view
66
- }()
67
-
68
- let leadingGrabber: UIControl = {
69
- let control = UIControl()
70
- control.translatesAutoresizingMaskIntoConstraints = false
71
- return control
72
- }()
73
-
74
- let trailingGrabber: UIControl = {
75
- let control = UIControl()
76
- control.translatesAutoresizingMaskIntoConstraints = false
77
- return control
78
- }()
79
-
80
- let chevronWidth: CGFloat = 16
81
- let edgeHeight: CGFloat = 4
82
-
83
- override init(frame: CGRect) {
84
- super.init(frame: frame)
85
- setup()
86
- }
87
-
88
- required init?(coder: NSCoder) {
89
- super.init(coder: coder)
90
- setup()
91
- }
92
-
93
- private func setup() {
94
- leadingView.addSubview(leadingChevronImageView)
95
- trailingView.addSubview(trailingChevronView)
96
-
97
- wrapperView.addSubview(leadingView)
98
- wrapperView.addSubview(trailingView)
99
- wrapperView.addSubview(topView)
100
- wrapperView.addSubview(bottomView)
101
- addSubview(wrapperView)
102
-
103
- wrapperView.addSubview(leadingGrabber)
104
- wrapperView.addSubview(trailingGrabber)
105
-
106
- setupConstraints()
107
- updateColor()
108
- }
109
-
110
- private func setupConstraints() {
111
- NSLayoutConstraint.activate([
112
- // Wrapper view constraints
113
- wrapperView.topAnchor.constraint(equalTo: self.topAnchor),
114
- wrapperView.bottomAnchor.constraint(equalTo: self.bottomAnchor),
115
- wrapperView.leadingAnchor.constraint(equalTo: self.leadingAnchor),
116
- wrapperView.trailingAnchor.constraint(equalTo: self.trailingAnchor),
117
-
118
- // Leading view constraints
119
- leadingView.topAnchor.constraint(equalTo: wrapperView.topAnchor),
120
- leadingView.bottomAnchor.constraint(equalTo: wrapperView.bottomAnchor),
121
- leadingView.leadingAnchor.constraint(equalTo: wrapperView.leadingAnchor),
122
- leadingView.widthAnchor.constraint(equalToConstant: chevronWidth),
123
-
124
- // Trailing view constraints
125
- trailingView.topAnchor.constraint(equalTo: wrapperView.topAnchor),
126
- trailingView.bottomAnchor.constraint(equalTo: wrapperView.bottomAnchor),
127
- trailingView.trailingAnchor.constraint(equalTo: wrapperView.trailingAnchor),
128
- trailingView.widthAnchor.constraint(equalToConstant: chevronWidth),
129
-
130
- // Top view constraints
131
- topView.topAnchor.constraint(equalTo: wrapperView.topAnchor),
132
- topView.leadingAnchor.constraint(equalTo: leadingView.trailingAnchor),
133
- topView.trailingAnchor.constraint(equalTo: trailingView.leadingAnchor),
134
- topView.heightAnchor.constraint(equalToConstant: edgeHeight),
135
-
136
- // Bottom view constraints
137
- bottomView.bottomAnchor.constraint(equalTo: wrapperView.bottomAnchor),
138
- bottomView.leadingAnchor.constraint(equalTo: leadingView.trailingAnchor),
139
- bottomView.trailingAnchor.constraint(equalTo: trailingView.leadingAnchor),
140
- bottomView.heightAnchor.constraint(equalToConstant: edgeHeight),
141
-
142
- // Leading Chevron ImageView constraints
143
- leadingChevronImageView.topAnchor.constraint(equalTo: leadingView.topAnchor, constant: 8),
144
- leadingChevronImageView.bottomAnchor.constraint(equalTo: leadingView.bottomAnchor, constant: -8),
145
- leadingChevronImageView.leadingAnchor.constraint(equalTo: leadingView.leadingAnchor, constant: 2),
146
- leadingChevronImageView.trailingAnchor.constraint(equalTo: leadingView.trailingAnchor, constant: -2),
147
-
148
- // Trailing Chevron ImageView constraints
149
- trailingChevronView.topAnchor.constraint(equalTo: trailingView.topAnchor, constant: 8),
150
- trailingChevronView.bottomAnchor.constraint(equalTo: trailingView.bottomAnchor, constant: -8),
151
- trailingChevronView.leadingAnchor.constraint(equalTo: trailingView.leadingAnchor, constant: 2),
152
- trailingChevronView.trailingAnchor.constraint(equalTo: trailingView.trailingAnchor, constant: -2),
153
-
154
- // Leading Grabber constraints
155
- leadingGrabber.topAnchor.constraint(equalTo: leadingView.topAnchor),
156
- leadingGrabber.bottomAnchor.constraint(equalTo: leadingView.bottomAnchor),
157
- leadingGrabber.leadingAnchor.constraint(equalTo: leadingView.leadingAnchor),
158
- leadingGrabber.trailingAnchor.constraint(equalTo: leadingView.trailingAnchor),
159
-
160
- // Trailing Grabber constraints
161
- trailingGrabber.topAnchor.constraint(equalTo: trailingView.topAnchor),
162
- trailingGrabber.bottomAnchor.constraint(equalTo: trailingView.bottomAnchor),
163
- trailingGrabber.leadingAnchor.constraint(equalTo: trailingView.leadingAnchor),
164
- trailingGrabber.trailingAnchor.constraint(equalTo: trailingView.trailingAnchor)
165
- ])
166
- }
167
-
168
- private func updateColor() {
169
- let color = UIColor.systemYellow
170
- leadingView.backgroundColor = color
171
- trailingView.backgroundColor = color
172
- topView.backgroundColor = color
173
- bottomView.backgroundColor = color
174
- }
175
- }