react-native-video-trim 8.0.0 → 8.1.1
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/README.md +1 -0
- package/android/src/main/java/com/videotrim/widgets/VideoTrimmerView.kt +39 -13
- package/android/src/main/res/layout/video_trimmer_view.xml +3 -3
- package/ios/VideoTrim.mm +6 -0
- package/ios/VideoTrimmerViewController.swift +36 -26
- package/lib/module/NativeVideoTrim.js.map +1 -1
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/typescript/src/NativeVideoTrim.d.ts +19 -0
- package/lib/typescript/src/NativeVideoTrim.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/NativeVideoTrim.ts +31 -3
- package/src/index.tsx +5 -1
package/README.md
CHANGED
|
@@ -488,6 +488,7 @@ All configuration options are optional. Here are the most commonly used ones:
|
|
|
488
488
|
| Option | Type | Default | Description |
|
|
489
489
|
|--------|------|---------|-------------|
|
|
490
490
|
| `theme` | `'dark' \| 'light'` | `'dark'` | Editor color theme (see [Theming](#theming)) |
|
|
491
|
+
| `durationFormat` | `'mm:ss' \| 'mm:ss.SS' \| 'mm:ss.SSS' \| 'hh:mm:ss' \| 'hh:mm:ss.SSS'` | `'mm:ss.SSS'` | Format of the start / current / end time labels in the editor. Use `'mm:ss'` to hide milliseconds. Unknown values fall back to the default. Only affects on-screen labels; event payloads still report raw milliseconds. |
|
|
491
492
|
| `cancelButtonText` | `string` | `"Cancel"` | Cancel button text |
|
|
492
493
|
| `saveButtonText` | `string` | `"Save"` | Save button text |
|
|
493
494
|
| `trimmingText` | `string` | `"Trimming video..."` | Progress dialog text |
|
|
@@ -167,6 +167,7 @@ class VideoTrimmerView(
|
|
|
167
167
|
private var mOutputExt = "mp4"
|
|
168
168
|
private var enableHapticFeedback = true
|
|
169
169
|
private var enablePreciseTrimming = false
|
|
170
|
+
private var enableEditTools = true
|
|
170
171
|
private var autoplay = false
|
|
171
172
|
private var jumpToPositionOnLoad = 0L
|
|
172
173
|
private lateinit var headerView: FrameLayout
|
|
@@ -219,6 +220,7 @@ class VideoTrimmerView(
|
|
|
219
220
|
private var trimmerColor = context.getString(R.string.trim_color).toColorInt()
|
|
220
221
|
private var handleIconColor = Color.BLACK
|
|
221
222
|
private var isLightTheme = false
|
|
223
|
+
private var durationFormat: String = "mm:ss.SSS"
|
|
222
224
|
private val iconColor: Int get() = if (isLightTheme) Color.BLACK else Color.WHITE
|
|
223
225
|
private val dimmedIconColor: Int get() = if (isLightTheme) Color.argb(128, 0, 0, 0) else Color.argb(128, 255, 255, 255)
|
|
224
226
|
private lateinit var leadingChevron: ImageView
|
|
@@ -522,13 +524,23 @@ class VideoTrimmerView(
|
|
|
522
524
|
}
|
|
523
525
|
|
|
524
526
|
mediaPlayer?.setVolume(if (isMuted) 0f else 1f, if (isMuted) 0f else 1f)
|
|
525
|
-
applyPlaybackSpeed()
|
|
527
|
+
// Do NOT call applyPlaybackSpeed() here. On Android, MediaPlayer.setPlaybackParams()
|
|
528
|
+
// with non-zero speed on a prepared player is equivalent to start(), which would
|
|
529
|
+
// silently begin playback even when autoplay=false. The configured speed is applied
|
|
530
|
+
// by playOrPause() after the explicit start() call instead.
|
|
526
531
|
|
|
527
532
|
if (isVideoType) {
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
533
|
+
if (enableEditTools) {
|
|
534
|
+
transformRow.alpha = 0f
|
|
535
|
+
transformRow.visibility = View.VISIBLE
|
|
536
|
+
transformRow.animate().alpha(1f).setDuration(250).start()
|
|
537
|
+
updateUndoRedoButtons()
|
|
538
|
+
} else {
|
|
539
|
+
// Hide the entire top toolbar (flip/rotate/crop/mute/speed/undo/redo).
|
|
540
|
+
// The layout already defaults transformRow to gone, but set it explicitly
|
|
541
|
+
// in case the value changed across editor sessions.
|
|
542
|
+
transformRow.visibility = View.GONE
|
|
543
|
+
}
|
|
532
544
|
} else {
|
|
533
545
|
// Fade the waveform in to match the trimmer container animation.
|
|
534
546
|
waveformView?.animate()?.alpha(1f)?.setDuration(250)?.start()
|
|
@@ -623,9 +635,13 @@ class VideoTrimmerView(
|
|
|
623
635
|
private fun setSpeed(newSpeed: Double) {
|
|
624
636
|
speed = newSpeed
|
|
625
637
|
speedBtn.text = if (newSpeed == 1.0) "1x" else "${newSpeed}x"
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
638
|
+
// Only apply playbackParams when actively playing. Calling setPlaybackParams() on a
|
|
639
|
+
// prepared-but-paused MediaPlayer implicitly starts playback (Android docs), which
|
|
640
|
+
// would silently resume the video when the user just wanted to pick a future speed.
|
|
641
|
+
// When paused, the new speed is picked up by playOrPause() on the next play.
|
|
642
|
+
val player = mediaPlayer
|
|
643
|
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && player != null && player.isPlaying) {
|
|
644
|
+
player.playbackParams = player.playbackParams.setSpeed(newSpeed.toFloat())
|
|
629
645
|
}
|
|
630
646
|
if (enableHapticFeedback) {
|
|
631
647
|
performHapticFeedback(android.view.HapticFeedbackConstants.VIRTUAL_KEY)
|
|
@@ -805,6 +821,7 @@ class VideoTrimmerView(
|
|
|
805
821
|
}
|
|
806
822
|
|
|
807
823
|
isLightTheme = config.hasKey("theme") && config.getString("theme") == "light"
|
|
824
|
+
durationFormat = if (config.hasKey("durationFormat")) config.getString("durationFormat") ?: "mm:ss.SSS" else "mm:ss.SSS"
|
|
808
825
|
|
|
809
826
|
cancelBtn.text = config.getString("cancelButtonText")
|
|
810
827
|
saveBtn.text = config.getString("saveButtonText")
|
|
@@ -817,6 +834,7 @@ class VideoTrimmerView(
|
|
|
817
834
|
}
|
|
818
835
|
enableHapticFeedback = config.hasKey("enableHapticFeedback") && config.getBoolean("enableHapticFeedback")
|
|
819
836
|
enablePreciseTrimming = config.hasKey("enablePreciseTrimming") && config.getBoolean("enablePreciseTrimming")
|
|
837
|
+
enableEditTools = if (config.hasKey("enableEditTools")) config.getBoolean("enableEditTools") else true
|
|
820
838
|
autoplay = config.hasKey("autoplay") && config.getBoolean("autoplay")
|
|
821
839
|
|
|
822
840
|
if (config.hasKey("removeAudio")) {
|
|
@@ -1013,11 +1031,19 @@ class VideoTrimmerView(
|
|
|
1013
1031
|
}
|
|
1014
1032
|
|
|
1015
1033
|
private fun formatTime(milliseconds: Int): String {
|
|
1016
|
-
val
|
|
1017
|
-
val
|
|
1018
|
-
val
|
|
1019
|
-
val
|
|
1020
|
-
|
|
1034
|
+
val totalMs = if (milliseconds < 0) 0 else milliseconds
|
|
1035
|
+
val h = totalMs / 3_600_000
|
|
1036
|
+
val m = (totalMs / 60_000) % 60
|
|
1037
|
+
val s = (totalMs / 1000) % 60
|
|
1038
|
+
val ms = totalMs % 1000
|
|
1039
|
+
val locale = Locale.getDefault()
|
|
1040
|
+
return when (durationFormat) {
|
|
1041
|
+
"mm:ss" -> String.format(locale, "%02d:%02d", m + h * 60, s)
|
|
1042
|
+
"mm:ss.SS" -> String.format(locale, "%02d:%02d.%02d", m + h * 60, s, ms / 10)
|
|
1043
|
+
"hh:mm:ss" -> String.format(locale, "%02d:%02d:%02d", h, m, s)
|
|
1044
|
+
"hh:mm:ss.SSS" -> String.format(locale, "%02d:%02d:%02d.%03d", h, m, s, ms)
|
|
1045
|
+
else -> String.format(locale, "%02d:%02d.%03d", m + h * 60, s, ms)
|
|
1046
|
+
}
|
|
1021
1047
|
}
|
|
1022
1048
|
|
|
1023
1049
|
@Suppress("ClickableViewAccessibility")
|
|
@@ -293,7 +293,7 @@
|
|
|
293
293
|
android:focusable="true"
|
|
294
294
|
android:gravity="center"
|
|
295
295
|
android:padding="10dp"
|
|
296
|
-
android:text="00:00
|
|
296
|
+
android:text="00:00"
|
|
297
297
|
android:textColor="@android:color/white"
|
|
298
298
|
android:textSize="16sp" />
|
|
299
299
|
|
|
@@ -306,7 +306,7 @@
|
|
|
306
306
|
android:focusable="true"
|
|
307
307
|
android:gravity="center"
|
|
308
308
|
android:padding="10dp"
|
|
309
|
-
android:text="00:00
|
|
309
|
+
android:text="00:00"
|
|
310
310
|
android:textColor="@android:color/white"
|
|
311
311
|
android:textSize="16sp" />
|
|
312
312
|
|
|
@@ -319,7 +319,7 @@
|
|
|
319
319
|
android:focusable="true"
|
|
320
320
|
android:gravity="center"
|
|
321
321
|
android:padding="10dp"
|
|
322
|
-
android:text="00:00
|
|
322
|
+
android:text="00:00"
|
|
323
323
|
android:textColor="@android:color/white"
|
|
324
324
|
android:textSize="16sp" />
|
|
325
325
|
</FrameLayout>
|
package/ios/VideoTrim.mm
CHANGED
|
@@ -111,6 +111,7 @@ RCT_EXPORT_MODULE()
|
|
|
111
111
|
dict[@"removeAfterShared"] = @(config.removeAfterShared());
|
|
112
112
|
dict[@"removeAfterFailedToShare"] = @(config.removeAfterFailedToShare());
|
|
113
113
|
dict[@"enableHapticFeedback"] = @(config.enableHapticFeedback());
|
|
114
|
+
dict[@"enableEditTools"] = @(config.enableEditTools());
|
|
114
115
|
dict[@"maxDuration"] = @(config.maxDuration());
|
|
115
116
|
dict[@"minDuration"] = @(config.minDuration());
|
|
116
117
|
dict[@"cancelButtonText"] = config.cancelButtonText();
|
|
@@ -194,6 +195,11 @@ RCT_EXPORT_MODULE()
|
|
|
194
195
|
dict[@"theme"] = theme;
|
|
195
196
|
}
|
|
196
197
|
|
|
198
|
+
NSString *durationFormat = config.durationFormat();
|
|
199
|
+
if (durationFormat != nil) {
|
|
200
|
+
dict[@"durationFormat"] = durationFormat;
|
|
201
|
+
}
|
|
202
|
+
|
|
197
203
|
[self->videoTrim showEditor:filePath withConfig:dict];
|
|
198
204
|
}
|
|
199
205
|
|
|
@@ -10,22 +10,26 @@ import AVKit
|
|
|
10
10
|
import React
|
|
11
11
|
|
|
12
12
|
extension CMTime {
|
|
13
|
-
|
|
14
|
-
let
|
|
15
|
-
let
|
|
16
|
-
let
|
|
17
|
-
|
|
18
|
-
let
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
13
|
+
func displayString(format: String) -> String {
|
|
14
|
+
let totalSeconds = max(0, seconds.isFinite ? seconds : 0)
|
|
15
|
+
let totalMs = Int((totalSeconds * 1000).rounded())
|
|
16
|
+
let h = totalMs / 3_600_000
|
|
17
|
+
let m = (totalMs / 60_000) % 60
|
|
18
|
+
let s = (totalMs / 1000) % 60
|
|
19
|
+
let ms = totalMs % 1000
|
|
20
|
+
switch format {
|
|
21
|
+
case "mm:ss":
|
|
22
|
+
return String(format: "%02d:%02d", m + h * 60, s)
|
|
23
|
+
case "mm:ss.SS":
|
|
24
|
+
return String(format: "%02d:%02d.%02d", m + h * 60, s, ms / 10)
|
|
25
|
+
case "hh:mm:ss":
|
|
26
|
+
return String(format: "%02d:%02d:%02d", h, m, s)
|
|
27
|
+
case "hh:mm:ss.SSS":
|
|
28
|
+
return String(format: "%02d:%02d:%02d.%03d", h, m, s, ms)
|
|
29
|
+
default:
|
|
30
|
+
return String(format: "%02d:%02d.%03d", m + h * 60, s, ms)
|
|
31
|
+
}
|
|
32
|
+
}
|
|
29
33
|
}
|
|
30
34
|
|
|
31
35
|
@available(iOS 13.0, *)
|
|
@@ -47,11 +51,13 @@ class VideoTrimmerViewController: UIViewController {
|
|
|
47
51
|
var cancelBtnClicked: (() -> Void)?
|
|
48
52
|
var saveBtnClicked: ((CMTimeRange) -> Void)?
|
|
49
53
|
private var enableHapticFeedback = true
|
|
54
|
+
private var enableEditTools = true
|
|
50
55
|
private var zoomOnWaitingDuration: Double = 5.0 // Default: 5 seconds
|
|
51
56
|
|
|
52
57
|
private var trimmerColor: UIColor = UIColor.systemYellow
|
|
53
58
|
private var handleIconColor: UIColor = UIColor.black
|
|
54
59
|
private var isLightTheme = false
|
|
60
|
+
private var durationFormat: String = "mm:ss.SSS"
|
|
55
61
|
private var waveformBarColor: UIColor = .white
|
|
56
62
|
private var waveformBgColor: UIColor = UIColor(red: 0.204, green: 0.471, blue: 0.965, alpha: 1)
|
|
57
63
|
private var waveformBarWidth: CGFloat = 3
|
|
@@ -196,9 +202,9 @@ class VideoTrimmerViewController: UIViewController {
|
|
|
196
202
|
|
|
197
203
|
// MARK: - Private
|
|
198
204
|
private func updateLabels() {
|
|
199
|
-
leadingTrimLabel.text = trimmer.selectedRange.start.displayString
|
|
200
|
-
currentTimeLabel.text = trimmer.progress.displayString
|
|
201
|
-
trailingTrimLabel.text = trimmer.selectedRange.end.displayString
|
|
205
|
+
leadingTrimLabel.text = trimmer.selectedRange.start.displayString(format: durationFormat)
|
|
206
|
+
currentTimeLabel.text = trimmer.progress.displayString(format: durationFormat)
|
|
207
|
+
trailingTrimLabel.text = trimmer.selectedRange.end.displayString(format: durationFormat)
|
|
202
208
|
}
|
|
203
209
|
|
|
204
210
|
private func handleBeforeProgressChange() {
|
|
@@ -382,12 +388,13 @@ class VideoTrimmerViewController: UIViewController {
|
|
|
382
388
|
|
|
383
389
|
private func setupTimeLabels() {
|
|
384
390
|
let labelColor = isLightTheme ? UIColor.black : UIColor.white
|
|
391
|
+
let placeholder = CMTime.zero.displayString(format: durationFormat)
|
|
385
392
|
leadingTrimLabel = UILabel.createLabel(textAlignment: .left, textColor: labelColor)
|
|
386
|
-
leadingTrimLabel.text =
|
|
393
|
+
leadingTrimLabel.text = placeholder
|
|
387
394
|
currentTimeLabel = UILabel.createLabel(textAlignment: .center, textColor: labelColor)
|
|
388
|
-
currentTimeLabel.text =
|
|
395
|
+
currentTimeLabel.text = placeholder
|
|
389
396
|
trailingTrimLabel = UILabel.createLabel(textAlignment: .right, textColor: labelColor)
|
|
390
|
-
trailingTrimLabel.text =
|
|
397
|
+
trailingTrimLabel.text = placeholder
|
|
391
398
|
|
|
392
399
|
timingStackView = UIStackView(arrangedSubviews: [leadingTrimLabel, currentTimeLabel, trailingTrimLabel])
|
|
393
400
|
timingStackView.axis = .horizontal
|
|
@@ -527,7 +534,7 @@ class VideoTrimmerViewController: UIViewController {
|
|
|
527
534
|
|
|
528
535
|
// MARK: - Transform (Rotation/Flip/Crop) + Undo/Redo
|
|
529
536
|
private func setupTransformButtons() {
|
|
530
|
-
guard isVideoType else { return }
|
|
537
|
+
guard isVideoType, enableEditTools else { return }
|
|
531
538
|
|
|
532
539
|
let flipBtn = UIButton(type: .system)
|
|
533
540
|
flipBtn.setImage(UIImage(systemName: "arrow.trianglehead.left.and.right.righttriangle.left.righttriangle.right", withConfiguration: symbolConfig), for: .normal)
|
|
@@ -1004,7 +1011,7 @@ class VideoTrimmerViewController: UIViewController {
|
|
|
1004
1011
|
self.seek(to: trimmer.selectedRange.end)
|
|
1005
1012
|
}
|
|
1006
1013
|
|
|
1007
|
-
currentTimeLabel.text = trimmer.progress.displayString
|
|
1014
|
+
currentTimeLabel.text = trimmer.progress.displayString(format: durationFormat)
|
|
1008
1015
|
|
|
1009
1016
|
self.setPlayBtnIcon()
|
|
1010
1017
|
}
|
|
@@ -1059,11 +1066,13 @@ class VideoTrimmerViewController: UIViewController {
|
|
|
1059
1066
|
}
|
|
1060
1067
|
|
|
1061
1068
|
isLightTheme = (config["theme"] as? String) == "light"
|
|
1069
|
+
durationFormat = (config["durationFormat"] as? String) ?? "mm:ss.SSS"
|
|
1062
1070
|
|
|
1063
1071
|
cancelButtonText = config["cancelButtonText"] as? String ?? "Cancel"
|
|
1064
1072
|
saveButtonText = config["saveButtonText"] as? String ?? "Save"
|
|
1065
1073
|
jumpToPositionOnLoad = config["jumpToPositionOnLoad"] as? Double ?? 0
|
|
1066
1074
|
enableHapticFeedback = config["enableHapticFeedback"] as? Bool ?? true
|
|
1075
|
+
enableEditTools = config["enableEditTools"] as? Bool ?? true
|
|
1067
1076
|
zoomOnWaitingDuration = (config["zoomOnWaitingDuration"] as? Double ?? 5.0) / 1000.0 // convert ms to s
|
|
1068
1077
|
autoplay = config["autoplay"] as? Bool ?? false
|
|
1069
1078
|
isVideoType = (config["type"] as? String ?? "video") == "video"
|
|
@@ -1122,7 +1131,7 @@ class VideoTrimmerViewController: UIViewController {
|
|
|
1122
1131
|
|
|
1123
1132
|
self.seek(to: cmtime)
|
|
1124
1133
|
self.trimmer.progress = cmtime
|
|
1125
|
-
self.currentTimeLabel.text = self.trimmer.progress.displayString
|
|
1134
|
+
self.currentTimeLabel.text = self.trimmer.progress.displayString(format: durationFormat)
|
|
1126
1135
|
}
|
|
1127
1136
|
|
|
1128
1137
|
if autoplay {
|
|
@@ -1157,7 +1166,8 @@ private extension UIButton {
|
|
|
1157
1166
|
private extension UILabel {
|
|
1158
1167
|
static func createLabel(textAlignment: NSTextAlignment, textColor: UIColor) -> UILabel {
|
|
1159
1168
|
let label = UILabel()
|
|
1160
|
-
|
|
1169
|
+
let baseFont = UIFont.preferredFont(forTextStyle: .caption1)
|
|
1170
|
+
label.font = UIFont.monospacedDigitSystemFont(ofSize: baseFont.pointSize, weight: .regular)
|
|
1161
1171
|
label.textAlignment = textAlignment
|
|
1162
1172
|
label.textColor = textColor
|
|
1163
1173
|
return label
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeVideoTrim.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;;AAGlD;AACA;AACA;;AAgCA;AACA;AACA;;
|
|
1
|
+
{"version":3,"names":["TurboModuleRegistry","getEnforcing"],"sourceRoot":"../../src","sources":["NativeVideoTrim.ts"],"mappings":";;AACA,SAASA,mBAAmB,QAAQ,cAAc;;AAGlD;AACA;AACA;;AAgCA;AACA;AACA;;AAkIA;AACA;AACA;;AAQA;AACA;AACA;;AAUA;AACA;AACA;;AAcA;AACA;AACA;;AAcA;AACA;AACA;;AAMA;AACA;AACA;;AAMA;AACA;AACA;;AAQA;AACA;AACA;;AAqBA;AACA;AACA;;AAMA;AACA;AACA;;AAYA;AACA;AACA;;AAMA;AACA;AACA;;AAMA;AACA;AACA;;AAQA;AACA;AACA;;AAMA;AACA;AACA;;AAMA;AACA;AACA;;AAMA;AACA;AACA;;AA4FA,eAAeA,mBAAmB,CAACC,YAAY,CAAO,WAAW,CAAC","ignoreList":[]}
|
package/lib/module/index.js
CHANGED
|
@@ -66,6 +66,7 @@ function createMergeOptions(overrides = {}) {
|
|
|
66
66
|
function createEditorConfig(overrides = {}) {
|
|
67
67
|
return {
|
|
68
68
|
enableHapticFeedback: true,
|
|
69
|
+
enableEditTools: true,
|
|
69
70
|
maxDuration: -1,
|
|
70
71
|
minDuration: -1,
|
|
71
72
|
openDocumentsOnFinish: false,
|
|
@@ -113,6 +114,7 @@ function createEditorConfig(overrides = {}) {
|
|
|
113
114
|
waveformBarWidth: 3,
|
|
114
115
|
waveformBarGap: 2,
|
|
115
116
|
waveformBarCornerRadius: 1.5,
|
|
117
|
+
durationFormat: 'mm:ss.SSS',
|
|
116
118
|
...createBaseOptions(overrides),
|
|
117
119
|
...overrides
|
|
118
120
|
};
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["VideoTrimNewArch","VideoTrimOldArch","processColor","isFabric","global","nativeFabricUIManager","VideoTrim","createBaseOptions","overrides","saveToPhoto","type","outputExt","removeAfterSavedToPhoto","removeAfterFailedToSavePhoto","enablePreciseTrimming","removeAudio","speed","createCompressOptions","quality","bitrate","width","height","frameRate","createFrameExtractionOptions","time","format","maxWidth","maxHeight","createExtractAudioOptions","createGifOptions","startTime","endTime","fps","createMergeOptions","createEditorConfig","enableHapticFeedback","maxDuration","minDuration","openDocumentsOnFinish","openShareSheetOnFinish","removeAfterSavedToDocuments","removeAfterFailedToSaveDocuments","removeAfterShared","removeAfterFailedToShare","cancelButtonText","saveButtonText","enableCancelDialog","cancelDialogTitle","cancelDialogMessage","cancelDialogCancelText","cancelDialogConfirmText","enableSaveDialog","saveDialogTitle","saveDialogMessage","saveDialogCancelText","saveDialogConfirmText","trimmingText","fullScreenModalIOS","autoplay","jumpToPositionOnLoad","closeWhenFinish","enableCancelTrimming","cancelTrimmingButtonText","enableCancelTrimmingDialog","cancelTrimmingDialogTitle","cancelTrimmingDialogMessage","cancelTrimmingDialogCancelText","cancelTrimmingDialogConfirmText","headerText","headerTextSize","headerTextColor","trimmerColor","handleIconColor","zoomOnWaitingDuration","alertOnFailToLoad","alertOnFailTitle","alertOnFailMessage","alertOnFailCloseText","waveformColor","waveformBackgroundColor","waveformBarWidth","waveformBarGap","waveformBarCornerRadius","createTrimOptions","showEditor","filePath","config","isLight","theme","_headerTextColor","_trimmerColor","_handleIconColor","_waveformColor","_waveformBackgroundColor","listFiles","cleanFiles","deleteFile","trim","length","Error","closeEditor","isValidFile","url","options","getFrameAt","extractAudio","compress","toGif","merge","urls","saveToDocuments","share"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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
|
|
1
|
+
{"version":3,"names":["VideoTrimNewArch","VideoTrimOldArch","processColor","isFabric","global","nativeFabricUIManager","VideoTrim","createBaseOptions","overrides","saveToPhoto","type","outputExt","removeAfterSavedToPhoto","removeAfterFailedToSavePhoto","enablePreciseTrimming","removeAudio","speed","createCompressOptions","quality","bitrate","width","height","frameRate","createFrameExtractionOptions","time","format","maxWidth","maxHeight","createExtractAudioOptions","createGifOptions","startTime","endTime","fps","createMergeOptions","createEditorConfig","enableHapticFeedback","enableEditTools","maxDuration","minDuration","openDocumentsOnFinish","openShareSheetOnFinish","removeAfterSavedToDocuments","removeAfterFailedToSaveDocuments","removeAfterShared","removeAfterFailedToShare","cancelButtonText","saveButtonText","enableCancelDialog","cancelDialogTitle","cancelDialogMessage","cancelDialogCancelText","cancelDialogConfirmText","enableSaveDialog","saveDialogTitle","saveDialogMessage","saveDialogCancelText","saveDialogConfirmText","trimmingText","fullScreenModalIOS","autoplay","jumpToPositionOnLoad","closeWhenFinish","enableCancelTrimming","cancelTrimmingButtonText","enableCancelTrimmingDialog","cancelTrimmingDialogTitle","cancelTrimmingDialogMessage","cancelTrimmingDialogCancelText","cancelTrimmingDialogConfirmText","headerText","headerTextSize","headerTextColor","trimmerColor","handleIconColor","zoomOnWaitingDuration","alertOnFailToLoad","alertOnFailTitle","alertOnFailMessage","alertOnFailCloseText","waveformColor","waveformBackgroundColor","waveformBarWidth","waveformBarGap","waveformBarCornerRadius","durationFormat","createTrimOptions","showEditor","filePath","config","isLight","theme","_headerTextColor","_trimmerColor","_handleIconColor","_waveformColor","_waveformBackgroundColor","listFiles","cleanFiles","deleteFile","trim","length","Error","closeEditor","isValidFile","url","options","getFrameAt","extractAudio","compress","toGif","merge","urls","saveToDocuments","share"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -39,6 +39,12 @@ export interface BaseOptions {
|
|
|
39
39
|
export interface EditorConfig extends BaseOptions {
|
|
40
40
|
/** Whether to enable haptic feedback when interacting with the trimmer. */
|
|
41
41
|
enableHapticFeedback: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* Whether to show the top toolbar of edit tools (flip, rotate, crop, mute,
|
|
44
|
+
* speed, undo, redo). Set to `false` to hide the entire toolbar. Default `true`.
|
|
45
|
+
* Video only — the toolbar never appears for audio files.
|
|
46
|
+
*/
|
|
47
|
+
enableEditTools: boolean;
|
|
42
48
|
/** Maximum allowed duration for the trimmed clip in milliseconds. Set to `-1` for no limit. */
|
|
43
49
|
maxDuration: number;
|
|
44
50
|
/** Minimum allowed duration for the trimmed clip in milliseconds. Set to `-1` for no limit. */
|
|
@@ -134,6 +140,19 @@ export interface EditorConfig extends BaseOptions {
|
|
|
134
140
|
* `"light"` uses a white background with black icons/text and white trimmer-handle chevrons.
|
|
135
141
|
*/
|
|
136
142
|
theme?: string;
|
|
143
|
+
/**
|
|
144
|
+
* Format token for the editor's start / current / end time labels.
|
|
145
|
+
* Allowed values:
|
|
146
|
+
* - `"mm:ss"` — minutes:seconds (e.g. `01:23`)
|
|
147
|
+
* - `"mm:ss.SS"` — centiseconds (e.g. `01:23.45`)
|
|
148
|
+
* - `"mm:ss.SSS"` — milliseconds (e.g. `01:23.456`) — **default**
|
|
149
|
+
* - `"hh:mm:ss"` — hours:minutes:seconds (e.g. `00:01:23`)
|
|
150
|
+
* - `"hh:mm:ss.SSS"` — hours:minutes:seconds.milliseconds (e.g. `00:01:23.456`)
|
|
151
|
+
*
|
|
152
|
+
* Unknown values fall back to the default. Only affects on-screen labels;
|
|
153
|
+
* `onLoad` / `onFinishTrimming` payloads continue to report raw milliseconds.
|
|
154
|
+
*/
|
|
155
|
+
durationFormat?: string;
|
|
137
156
|
/** Color of the audio waveform bars as a `processColor` value. */
|
|
138
157
|
waveformColor?: number;
|
|
139
158
|
/** Background color behind the audio waveform bars as a `processColor` value. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativeVideoTrim.d.ts","sourceRoot":"","sources":["../../../src/NativeVideoTrim.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"NativeVideoTrim.d.ts","sourceRoot":"","sources":["../../../src/NativeVideoTrim.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEhD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2CAA2C,CAAC;AAE9E;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,qEAAqE;IACrE,WAAW,EAAE,OAAO,CAAC;IACrB,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAC;IAClB,sFAAsF;IACtF,uBAAuB,EAAE,OAAO,CAAC;IACjC,8EAA8E;IAC9E,4BAA4B,EAAE,OAAO,CAAC;IACtC;;;;;;;;OAQG;IACH,qBAAqB,EAAE,OAAO,CAAC;IAC/B,4EAA4E;IAC5E,WAAW,EAAE,OAAO,CAAC;IACrB;;;;OAIG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,YAAa,SAAQ,WAAW;IAC/C,2EAA2E;IAC3E,oBAAoB,EAAE,OAAO,CAAC;IAC9B;;;;OAIG;IACH,eAAe,EAAE,OAAO,CAAC;IACzB,+FAA+F;IAC/F,WAAW,EAAE,MAAM,CAAC;IACpB,+FAA+F;IAC/F,WAAW,EAAE,MAAM,CAAC;IACpB,8EAA8E;IAC9E,qBAAqB,EAAE,OAAO,CAAC;IAC/B,+DAA+D;IAC/D,sBAAsB,EAAE,OAAO,CAAC;IAChC,8EAA8E;IAC9E,2BAA2B,EAAE,OAAO,CAAC;IACrC,sEAAsE;IACtE,gCAAgC,EAAE,OAAO,CAAC;IAC1C,kEAAkE;IAClE,iBAAiB,EAAE,OAAO,CAAC;IAC3B,0DAA0D;IAC1D,wBAAwB,EAAE,OAAO,CAAC;IAClC,kCAAkC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,gCAAgC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,+EAA+E;IAC/E,kBAAkB,EAAE,OAAO,CAAC;IAC5B,+CAA+C;IAC/C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iDAAiD;IACjD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qEAAqE;IACrE,sBAAsB,EAAE,MAAM,CAAC;IAC/B,qEAAqE;IACrE,uBAAuB,EAAE,MAAM,CAAC;IAChC,6EAA6E;IAC7E,gBAAgB,EAAE,OAAO,CAAC;IAC1B,6CAA6C;IAC7C,eAAe,EAAE,MAAM,CAAC;IACxB,+CAA+C;IAC/C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mEAAmE;IACnE,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mEAAmE;IACnE,qBAAqB,EAAE,MAAM,CAAC;IAC9B,oFAAoF;IACpF,YAAY,EAAE,MAAM,CAAC;IACrB,sEAAsE;IACtE,kBAAkB,EAAE,OAAO,CAAC;IAC5B,4DAA4D;IAC5D,QAAQ,EAAE,OAAO,CAAC;IAClB,yFAAyF;IACzF,oBAAoB,EAAE,MAAM,CAAC;IAC7B,wEAAwE;IACxE,eAAe,EAAE,OAAO,CAAC;IACzB,yEAAyE;IACzE,oBAAoB,EAAE,OAAO,CAAC;IAC9B,2CAA2C;IAC3C,wBAAwB,EAAE,MAAM,CAAC;IACjC,iFAAiF;IACjF,0BAA0B,EAAE,OAAO,CAAC;IACpC,wDAAwD;IACxD,yBAAyB,EAAE,MAAM,CAAC;IAClC,0DAA0D;IAC1D,2BAA2B,EAAE,MAAM,CAAC;IACpC,iEAAiE;IACjE,8BAA8B,EAAE,MAAM,CAAC;IACvC,iEAAiE;IACjE,+BAA+B,EAAE,MAAM,CAAC;IACxC,6DAA6D;IAC7D,UAAU,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,cAAc,EAAE,MAAM,CAAC;IACvB,0DAA0D;IAC1D,eAAe,EAAE,MAAM,CAAC;IACxB,yEAAyE;IACzE,iBAAiB,EAAE,OAAO,CAAC;IAC3B,uCAAuC;IACvC,gBAAgB,EAAE,MAAM,CAAC;IACzB,yCAAyC;IACzC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,2DAA2D;IAC3D,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kGAAkG;IAClG,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8EAA8E;IAC9E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iFAAiF;IACjF,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,0DAA0D;IAC1D,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,yDAAyD;IACzD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gEAAgE;IAChE,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,WAAW;IAC9C,oDAAoD;IACpD,SAAS,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,uDAAuD;IACvD,OAAO,EAAE,OAAO,CAAC;IACjB,mEAAmE;IACnE,QAAQ,EAAE,MAAM,CAAC;IACjB,sEAAsE;IACtE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,UAAU,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,+DAA+D;IAC/D,IAAI,EAAE,MAAM,CAAC;IACb,0DAA0D;IAC1D,MAAM,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,OAAO,EAAE,MAAM,CAAC;IAChB,sGAAsG;IACtG,QAAQ,EAAE,MAAM,CAAC;IACjB,sGAAsG;IACtG,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,qFAAqF;IACrF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,iDAAiD;IACjD,UAAU,EAAE,MAAM,CAAC;IACnB,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,4GAA4G;IAC5G,OAAO,EAAE,MAAM,CAAC;IAChB,yGAAyG;IACzG,KAAK,EAAE,MAAM,CAAC;IACd,yGAAyG;IACzG,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,SAAS,EAAE,MAAM,CAAC;IAClB,4EAA4E;IAC5E,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,mDAAmD;IACnD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,+CAA+C;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,6DAA6D;IAC7D,OAAO,EAAE,MAAM,CAAC;IAChB,2CAA2C;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,8FAA8F;IAC9F,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,sEAAsE;IACtE,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,oEAAoE;IACpE,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,4DAA4D;IAC5D,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,mDAAmD;IACnD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,wDAAwD;IACxD,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IACzD,+DAA+D;IAC/D,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/B,sGAAsG;IACtG,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9B,0EAA0E;IAC1E,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,iEAAiE;IACjE,WAAW,IAAI,IAAI,CAAC;IACpB,yEAAyE;IACzE,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACxD,mFAAmF;IACnF,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7D,sEAAsE;IACtE,UAAU,CACR,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,WAAW,CAAC,CAAC;IACxB,4EAA4E;IAC5E,YAAY,CACV,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC/B,gDAAgD;IAChD,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IACzE,kDAAkD;IAClD,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAC5D,kFAAkF;IAClF,KAAK,CACH,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,EAC3B,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,WAAW,CAAC,CAAC;IACxB,oFAAoF;IACpF,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC1D,uFAAuF;IACvF,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAClE,8CAA8C;IAC9C,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAE9C,8CAA8C;IAC9C,QAAQ,CAAC,eAAe,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IAC7C,mEAAmE;IACnE,QAAQ,CAAC,gBAAgB,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IAC9C,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IACtC,yCAAyC;IACzC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IACpC,wCAAwC;IACxC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IACpC,yFAAyF;IACzF,QAAQ,CAAC,gBAAgB,EAAE,YAAY,CAAC;QACtC,gDAAgD;QAChD,UAAU,EAAE,MAAM,CAAC;QACnB,uDAAuD;QACvD,SAAS,EAAE,MAAM,CAAC;QAClB,qDAAqD;QACrD,OAAO,EAAE,MAAM,CAAC;QAChB,oDAAoD;QACpD,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IACH,sDAAsD;IACtD,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;QAC3B,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IACH,+DAA+D;IAC/D,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAC;QAClC,SAAS,EAAE,MAAM,CAAC;QAClB,gBAAgB,EAAE,MAAM,CAAC;QACzB,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;IACH,oEAAoE;IACpE,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;QAC7B,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC,CAAC;IACH,sEAAsE;IACtE,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;QAC5B,oDAAoD;QACpD,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;CACJ;;AAED,wBAAmE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,eAAe,EACf,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,WAAW,EACX,UAAU,EACV,SAAS,EACT,YAAY,EACZ,WAAW,EACX,qBAAqB,EACrB,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,UAAU,EACX,MAAM,mBAAmB,CAAC;AAK3B,QAAA,MAAM,SAAS,KAAiD,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,eAAe,EACf,cAAc,EACd,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,WAAW,EACX,UAAU,EACV,SAAS,EACT,YAAY,EACZ,WAAW,EACX,qBAAqB,EACrB,iBAAiB,EACjB,WAAW,EACX,WAAW,EACX,UAAU,EACX,MAAM,mBAAmB,CAAC;AAK3B,QAAA,MAAM,SAAS,KAAiD,CAAC;AA6IjE;;;;;;;GAOG;AACH,wBAAgB,UAAU,CACxB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,OAAO,CACb,IAAI,CACF,YAAY,EACV,iBAAiB,GACjB,cAAc,GACd,iBAAiB,GACjB,eAAe,GACf,yBAAyB,CAC5B,CACF,GAAG;IACF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC,GACA,IAAI,CAgCN;AAED;;;;GAIG;AACH,wBAAgB,SAAS,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAE7C;AAED;;;;GAIG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAE5C;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAK7D;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAElC;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAEtE;AAED;;;;;;GAMG;AACH,wBAAgB,IAAI,CAClB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,GAC5B,OAAO,CAAC,UAAU,CAAC,CAErB;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,OAAO,CAAC,sBAAsB,CAAM,GAC5C,OAAO,CAAC,WAAW,CAAC,CAEtB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,OAAO,CAAC,mBAAmB,CAAM,GACzC,OAAO,CAAC,kBAAkB,CAAC,CAE7B;AAED;;;;;;GAMG;AACH,wBAAgB,QAAQ,CACtB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,OAAO,CAAC,eAAe,CAAM,GACrC,OAAO,CAAC,cAAc,CAAC,CAEzB;AAED;;;;;;GAMG;AACH,wBAAgB,KAAK,CACnB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,OAAO,CAAC,UAAU,CAAM,GAChC,OAAO,CAAC,SAAS,CAAC,CAEpB;AAED;;;;;;GAMG;AACH,wBAAgB,KAAK,CACnB,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,GAAE,OAAO,CAAC,YAAY,CAAM,GAClC,OAAO,CAAC,WAAW,CAAC,CAKtB;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAKxE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,qBAAqB,CAAC,CAKhC;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAK5D;AAED,cAAc,mBAAmB,CAAC;AAClC,eAAe,SAAS,CAAC"}
|
package/package.json
CHANGED
package/src/NativeVideoTrim.ts
CHANGED
|
@@ -42,6 +42,12 @@ export interface BaseOptions {
|
|
|
42
42
|
export interface EditorConfig extends BaseOptions {
|
|
43
43
|
/** Whether to enable haptic feedback when interacting with the trimmer. */
|
|
44
44
|
enableHapticFeedback: boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Whether to show the top toolbar of edit tools (flip, rotate, crop, mute,
|
|
47
|
+
* speed, undo, redo). Set to `false` to hide the entire toolbar. Default `true`.
|
|
48
|
+
* Video only — the toolbar never appears for audio files.
|
|
49
|
+
*/
|
|
50
|
+
enableEditTools: boolean;
|
|
45
51
|
/** Maximum allowed duration for the trimmed clip in milliseconds. Set to `-1` for no limit. */
|
|
46
52
|
maxDuration: number;
|
|
47
53
|
/** Minimum allowed duration for the trimmed clip in milliseconds. Set to `-1` for no limit. */
|
|
@@ -137,6 +143,19 @@ export interface EditorConfig extends BaseOptions {
|
|
|
137
143
|
* `"light"` uses a white background with black icons/text and white trimmer-handle chevrons.
|
|
138
144
|
*/
|
|
139
145
|
theme?: string;
|
|
146
|
+
/**
|
|
147
|
+
* Format token for the editor's start / current / end time labels.
|
|
148
|
+
* Allowed values:
|
|
149
|
+
* - `"mm:ss"` — minutes:seconds (e.g. `01:23`)
|
|
150
|
+
* - `"mm:ss.SS"` — centiseconds (e.g. `01:23.45`)
|
|
151
|
+
* - `"mm:ss.SSS"` — milliseconds (e.g. `01:23.456`) — **default**
|
|
152
|
+
* - `"hh:mm:ss"` — hours:minutes:seconds (e.g. `00:01:23`)
|
|
153
|
+
* - `"hh:mm:ss.SSS"` — hours:minutes:seconds.milliseconds (e.g. `00:01:23.456`)
|
|
154
|
+
*
|
|
155
|
+
* Unknown values fall back to the default. Only affects on-screen labels;
|
|
156
|
+
* `onLoad` / `onFinishTrimming` payloads continue to report raw milliseconds.
|
|
157
|
+
*/
|
|
158
|
+
durationFormat?: string;
|
|
140
159
|
/** Color of the audio waveform bars as a `processColor` value. */
|
|
141
160
|
waveformColor?: number;
|
|
142
161
|
/** Background color behind the audio waveform bars as a `processColor` value. */
|
|
@@ -343,15 +362,24 @@ export interface Spec extends TurboModule {
|
|
|
343
362
|
/** Perform a headless trim (no UI) on the given URL with the specified options. */
|
|
344
363
|
trim(url: string, options: TrimOptions): Promise<TrimResult>;
|
|
345
364
|
/** Extract a single frame from a video at the specified timestamp. */
|
|
346
|
-
getFrameAt(
|
|
365
|
+
getFrameAt(
|
|
366
|
+
url: string,
|
|
367
|
+
options: FrameExtractionOptions
|
|
368
|
+
): Promise<FrameResult>;
|
|
347
369
|
/** Extract the audio track from a video file into a separate audio file. */
|
|
348
|
-
extractAudio(
|
|
370
|
+
extractAudio(
|
|
371
|
+
url: string,
|
|
372
|
+
options: ExtractAudioOptions
|
|
373
|
+
): Promise<ExtractAudioResult>;
|
|
349
374
|
/** Compress a video file to reduce its size. */
|
|
350
375
|
compress(url: string, options: CompressOptions): Promise<CompressResult>;
|
|
351
376
|
/** Convert a video segment to an animated GIF. */
|
|
352
377
|
toGif(url: string, options: GifOptions): Promise<GifResult>;
|
|
353
378
|
/** Merge multiple media files into a single file. Headless only, no editor UI. */
|
|
354
|
-
merge(
|
|
379
|
+
merge(
|
|
380
|
+
urls: ReadonlyArray<string>,
|
|
381
|
+
options: MergeOptions
|
|
382
|
+
): Promise<MergeResult>;
|
|
355
383
|
/** Save a file to the device's photo library. Requires photo library permission. */
|
|
356
384
|
saveToPhoto(filePath: string): Promise<SaveToPhotoResult>;
|
|
357
385
|
/** Present the system document picker to save a file to the user's chosen location. */
|
package/src/index.tsx
CHANGED
|
@@ -101,6 +101,7 @@ function createEditorConfig(
|
|
|
101
101
|
): EditorConfig {
|
|
102
102
|
return {
|
|
103
103
|
enableHapticFeedback: true,
|
|
104
|
+
enableEditTools: true,
|
|
104
105
|
maxDuration: -1,
|
|
105
106
|
minDuration: -1,
|
|
106
107
|
openDocumentsOnFinish: false,
|
|
@@ -149,6 +150,7 @@ function createEditorConfig(
|
|
|
149
150
|
waveformBarWidth: 3,
|
|
150
151
|
waveformBarGap: 2,
|
|
151
152
|
waveformBarCornerRadius: 1.5,
|
|
153
|
+
durationFormat: 'mm:ss.SSS',
|
|
152
154
|
...createBaseOptions(overrides),
|
|
153
155
|
...overrides,
|
|
154
156
|
};
|
|
@@ -377,7 +379,9 @@ export function saveToPhoto(filePath: string): Promise<SaveToPhotoResult> {
|
|
|
377
379
|
* @param {string} filePath: absolute path to the file
|
|
378
380
|
* @returns {Promise<SaveToDocumentsResult>} A **Promise** which resolves to the result
|
|
379
381
|
*/
|
|
380
|
-
export function saveToDocuments(
|
|
382
|
+
export function saveToDocuments(
|
|
383
|
+
filePath: string
|
|
384
|
+
): Promise<SaveToDocumentsResult> {
|
|
381
385
|
if (!filePath?.trim().length) {
|
|
382
386
|
throw new Error('File path cannot be empty!');
|
|
383
387
|
}
|