@twick/studio 0.15.3 → 0.15.4

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/dist/index.d.ts CHANGED
@@ -45,22 +45,99 @@ export * from './helpers/generate-subtitles.service';
45
45
  export * from './helpers/constant';
46
46
  export * from './types';
47
47
  /**
48
- * Re-export commonly used components from dependencies.
48
+ * ============================================================================
49
+ * RE-EXPORTS FROM DEPENDENCY PACKAGES
50
+ * ============================================================================
49
51
  *
50
- * This allows users to import everything from @twick/studio without needing
51
- * to install or import from individual @twick packages. All required dependencies
52
- * are automatically installed when you install @twick/studio.
52
+ * The @twick/studio package re-exports components, hooks, types, and utilities
53
+ * from its dependency packages (@twick/video-editor, @twick/timeline, @twick/live-player).
53
54
  *
54
- * Re-exported components:
55
- * - VideoEditor: Main video editor component from @twick/video-editor
56
- * - LivePlayerProvider, LivePlayer: Player components from @twick/live-player
57
- * - TimelineProvider, INITIAL_TIMELINE_DATA: Timeline components from @twick/timeline
55
+ * This provides a single entry point for developers using the Twick SDK.
56
+ *
57
+ * Benefits:
58
+ * - Install only `@twick/studio` instead of multiple packages
59
+ * - Import everything from a single package: `import { ... } from '@twick/studio'`
60
+ * - All dependencies are automatically installed and version-matched
61
+ * - Simpler package management and fewer version conflicts
62
+ *
63
+ * @example
64
+ * ```jsx
65
+ * // Before: Multiple package imports
66
+ * import { TwickStudio } from '@twick/studio';
67
+ * import { LivePlayer, LivePlayerProvider } from '@twick/live-player';
68
+ * import { TimelineProvider, TimelineEditor } from '@twick/timeline';
69
+ * import { VideoEditor } from '@twick/video-editor';
70
+ *
71
+ * // After: Single package import
72
+ * import {
73
+ * TwickStudio,
74
+ * LivePlayer,
75
+ * LivePlayerProvider,
76
+ * TimelineProvider,
77
+ * TimelineEditor,
78
+ * VideoEditor
79
+ * } from '@twick/studio';
80
+ * ```
81
+ */
82
+ /**
83
+ * Main video editor component and related types
58
84
  */
59
85
  export { default as VideoEditor } from '@twick/video-editor';
60
- export type { VideoEditorProps, VideoEditorConfig } from '@twick/video-editor';
61
- export { LivePlayerProvider, LivePlayer } from '@twick/live-player';
62
- export { TimelineProvider, INITIAL_TIMELINE_DATA } from '@twick/timeline';
86
+ export type { VideoEditorProps, VideoEditorConfig, TimelineTickConfig, TimelineZoomConfig, PlayerControlsProps } from '@twick/video-editor';
87
+ /**
88
+ * Video editor hooks for custom implementations
89
+ */
90
+ export { usePlayerControl, useEditorManager, useTimelineControl } from '@twick/video-editor';
91
+ /**
92
+ * Video editor components
93
+ */
94
+ export { PlayerControls, TimelineManager } from '@twick/video-editor';
95
+ /**
96
+ * Media management utilities
97
+ */
98
+ export { BrowserMediaManager, BaseMediaManager } from '@twick/video-editor';
99
+ /**
100
+ * Animation and text effect constants
101
+ */
102
+ export { ANIMATIONS, TEXT_EFFECTS } from '@twick/video-editor';
103
+ /**
104
+ * Editor utility functions and types
105
+ */
106
+ export { animationGifs, getAnimationGif, setElementColors } from '@twick/video-editor';
107
+ export type { MediaItem, PaginationOptions, SearchOptions, Animation, TextEffect, ElementColors } from '@twick/video-editor';
108
+ /**
109
+ * Live player components and context
110
+ */
111
+ export { LivePlayerProvider, LivePlayer, useLivePlayerContext } from '@twick/live-player';
112
+ /**
113
+ * Player constants and utilities
114
+ */
115
+ export { PLAYER_STATE, getBaseProject, generateId } from '@twick/live-player';
116
+ /**
117
+ * Timeline provider and editor
118
+ */
119
+ export { TimelineProvider, TimelineEditor, INITIAL_TIMELINE_DATA } from '@twick/timeline';
63
120
  export type { TimelineProviderProps } from '@twick/timeline';
121
+ /**
122
+ * Timeline element classes
123
+ */
124
+ export { Track, TrackElement, TextElement, VideoElement, ImageElement, AudioElement, CircleElement, RectElement, IconElement, CaptionElement, ElementAnimation, ElementFrameEffect, ElementTextEffect } from '@twick/timeline';
125
+ /**
126
+ * Timeline visitor pattern classes for element manipulation
127
+ */
128
+ export { ElementSerializer, ElementDeserializer, ElementValidator, ElementAdder, ElementRemover, ElementUpdater, ElementSplitter, ElementCloner } from '@twick/timeline';
129
+ /**
130
+ * Timeline utilities and helpers
131
+ */
132
+ export { generateShortUuid, getTotalDuration, getCurrentElements, isTrackId, isElementId, TIMELINE_ELEMENT_TYPE } from '@twick/timeline';
133
+ /**
134
+ * Timeline types
135
+ */
136
+ export type { ProjectJSON, Size, Position, Frame, ElementJSON, TrackJSON, VideoProps, AudioProps, ImageProps, TextProps, RectProps, CircleProps, IconProps, TextEffect as TimelineTextEffect, FrameEffect, FrameEffectProps, Animation as TimelineAnimation, ObjectFit, TextAlign, BaseMediaProps } from '@twick/timeline';
137
+ /**
138
+ * Timeline constants
139
+ */
140
+ export { CAPTION_STYLE, CAPTION_STYLE_OPTIONS, CAPTION_FONT, CAPTION_COLOR, WORDS_PER_PHRASE, TIMELINE_ACTION, PROCESS_STATE } from '@twick/timeline';
64
141
  /**
65
142
  * Default export: TwickStudio (full editor component)
66
143
  */
package/dist/index.js CHANGED
@@ -3747,15 +3747,203 @@ function TwickStudio({ studioConfig }) {
3747
3747
  ] })
3748
3748
  ] }) });
3749
3749
  }
3750
+ Object.defineProperty(exports, "AudioElement", {
3751
+ enumerable: true,
3752
+ get: () => timeline.AudioElement
3753
+ });
3754
+ Object.defineProperty(exports, "CAPTION_COLOR", {
3755
+ enumerable: true,
3756
+ get: () => timeline.CAPTION_COLOR
3757
+ });
3758
+ Object.defineProperty(exports, "CAPTION_FONT", {
3759
+ enumerable: true,
3760
+ get: () => timeline.CAPTION_FONT
3761
+ });
3762
+ Object.defineProperty(exports, "CAPTION_STYLE", {
3763
+ enumerable: true,
3764
+ get: () => timeline.CAPTION_STYLE
3765
+ });
3766
+ Object.defineProperty(exports, "CAPTION_STYLE_OPTIONS", {
3767
+ enumerable: true,
3768
+ get: () => timeline.CAPTION_STYLE_OPTIONS
3769
+ });
3770
+ Object.defineProperty(exports, "CaptionElement", {
3771
+ enumerable: true,
3772
+ get: () => timeline.CaptionElement
3773
+ });
3774
+ Object.defineProperty(exports, "CircleElement", {
3775
+ enumerable: true,
3776
+ get: () => timeline.CircleElement
3777
+ });
3778
+ Object.defineProperty(exports, "ElementAdder", {
3779
+ enumerable: true,
3780
+ get: () => timeline.ElementAdder
3781
+ });
3782
+ Object.defineProperty(exports, "ElementAnimation", {
3783
+ enumerable: true,
3784
+ get: () => timeline.ElementAnimation
3785
+ });
3786
+ Object.defineProperty(exports, "ElementCloner", {
3787
+ enumerable: true,
3788
+ get: () => timeline.ElementCloner
3789
+ });
3790
+ Object.defineProperty(exports, "ElementDeserializer", {
3791
+ enumerable: true,
3792
+ get: () => timeline.ElementDeserializer
3793
+ });
3794
+ Object.defineProperty(exports, "ElementFrameEffect", {
3795
+ enumerable: true,
3796
+ get: () => timeline.ElementFrameEffect
3797
+ });
3798
+ Object.defineProperty(exports, "ElementRemover", {
3799
+ enumerable: true,
3800
+ get: () => timeline.ElementRemover
3801
+ });
3802
+ Object.defineProperty(exports, "ElementSerializer", {
3803
+ enumerable: true,
3804
+ get: () => timeline.ElementSerializer
3805
+ });
3806
+ Object.defineProperty(exports, "ElementSplitter", {
3807
+ enumerable: true,
3808
+ get: () => timeline.ElementSplitter
3809
+ });
3810
+ Object.defineProperty(exports, "ElementTextEffect", {
3811
+ enumerable: true,
3812
+ get: () => timeline.ElementTextEffect
3813
+ });
3814
+ Object.defineProperty(exports, "ElementUpdater", {
3815
+ enumerable: true,
3816
+ get: () => timeline.ElementUpdater
3817
+ });
3818
+ Object.defineProperty(exports, "ElementValidator", {
3819
+ enumerable: true,
3820
+ get: () => timeline.ElementValidator
3821
+ });
3750
3822
  Object.defineProperty(exports, "INITIAL_TIMELINE_DATA", {
3751
3823
  enumerable: true,
3752
3824
  get: () => timeline.INITIAL_TIMELINE_DATA
3753
3825
  });
3826
+ Object.defineProperty(exports, "IconElement", {
3827
+ enumerable: true,
3828
+ get: () => timeline.IconElement
3829
+ });
3830
+ Object.defineProperty(exports, "ImageElement", {
3831
+ enumerable: true,
3832
+ get: () => timeline.ImageElement
3833
+ });
3834
+ Object.defineProperty(exports, "PROCESS_STATE", {
3835
+ enumerable: true,
3836
+ get: () => timeline.PROCESS_STATE
3837
+ });
3838
+ Object.defineProperty(exports, "RectElement", {
3839
+ enumerable: true,
3840
+ get: () => timeline.RectElement
3841
+ });
3842
+ Object.defineProperty(exports, "TIMELINE_ACTION", {
3843
+ enumerable: true,
3844
+ get: () => timeline.TIMELINE_ACTION
3845
+ });
3846
+ Object.defineProperty(exports, "TIMELINE_ELEMENT_TYPE", {
3847
+ enumerable: true,
3848
+ get: () => timeline.TIMELINE_ELEMENT_TYPE
3849
+ });
3850
+ Object.defineProperty(exports, "TextElement", {
3851
+ enumerable: true,
3852
+ get: () => timeline.TextElement
3853
+ });
3854
+ Object.defineProperty(exports, "TimelineEditor", {
3855
+ enumerable: true,
3856
+ get: () => timeline.TimelineEditor
3857
+ });
3754
3858
  Object.defineProperty(exports, "TimelineProvider", {
3755
3859
  enumerable: true,
3756
3860
  get: () => timeline.TimelineProvider
3757
3861
  });
3862
+ Object.defineProperty(exports, "Track", {
3863
+ enumerable: true,
3864
+ get: () => timeline.Track
3865
+ });
3866
+ Object.defineProperty(exports, "TrackElement", {
3867
+ enumerable: true,
3868
+ get: () => timeline.TrackElement
3869
+ });
3870
+ Object.defineProperty(exports, "VideoElement", {
3871
+ enumerable: true,
3872
+ get: () => timeline.VideoElement
3873
+ });
3874
+ Object.defineProperty(exports, "WORDS_PER_PHRASE", {
3875
+ enumerable: true,
3876
+ get: () => timeline.WORDS_PER_PHRASE
3877
+ });
3878
+ Object.defineProperty(exports, "generateShortUuid", {
3879
+ enumerable: true,
3880
+ get: () => timeline.generateShortUuid
3881
+ });
3882
+ Object.defineProperty(exports, "getCurrentElements", {
3883
+ enumerable: true,
3884
+ get: () => timeline.getCurrentElements
3885
+ });
3886
+ Object.defineProperty(exports, "getTotalDuration", {
3887
+ enumerable: true,
3888
+ get: () => timeline.getTotalDuration
3889
+ });
3890
+ Object.defineProperty(exports, "isElementId", {
3891
+ enumerable: true,
3892
+ get: () => timeline.isElementId
3893
+ });
3894
+ Object.defineProperty(exports, "isTrackId", {
3895
+ enumerable: true,
3896
+ get: () => timeline.isTrackId
3897
+ });
3898
+ Object.defineProperty(exports, "ANIMATIONS", {
3899
+ enumerable: true,
3900
+ get: () => VideoEditor.ANIMATIONS
3901
+ });
3902
+ Object.defineProperty(exports, "BaseMediaManager", {
3903
+ enumerable: true,
3904
+ get: () => VideoEditor.BaseMediaManager
3905
+ });
3906
+ Object.defineProperty(exports, "BrowserMediaManager", {
3907
+ enumerable: true,
3908
+ get: () => VideoEditor.BrowserMediaManager
3909
+ });
3910
+ Object.defineProperty(exports, "PlayerControls", {
3911
+ enumerable: true,
3912
+ get: () => VideoEditor.PlayerControls
3913
+ });
3914
+ Object.defineProperty(exports, "TEXT_EFFECTS", {
3915
+ enumerable: true,
3916
+ get: () => VideoEditor.TEXT_EFFECTS
3917
+ });
3918
+ Object.defineProperty(exports, "TimelineManager", {
3919
+ enumerable: true,
3920
+ get: () => VideoEditor.TimelineManager
3921
+ });
3758
3922
  exports.VideoEditor = VideoEditor;
3923
+ Object.defineProperty(exports, "animationGifs", {
3924
+ enumerable: true,
3925
+ get: () => VideoEditor.animationGifs
3926
+ });
3927
+ Object.defineProperty(exports, "getAnimationGif", {
3928
+ enumerable: true,
3929
+ get: () => VideoEditor.getAnimationGif
3930
+ });
3931
+ Object.defineProperty(exports, "setElementColors", {
3932
+ enumerable: true,
3933
+ get: () => VideoEditor.setElementColors
3934
+ });
3935
+ Object.defineProperty(exports, "useEditorManager", {
3936
+ enumerable: true,
3937
+ get: () => VideoEditor.useEditorManager
3938
+ });
3939
+ Object.defineProperty(exports, "usePlayerControl", {
3940
+ enumerable: true,
3941
+ get: () => VideoEditor.usePlayerControl
3942
+ });
3943
+ Object.defineProperty(exports, "useTimelineControl", {
3944
+ enumerable: true,
3945
+ get: () => VideoEditor.useTimelineControl
3946
+ });
3759
3947
  Object.defineProperty(exports, "LivePlayer", {
3760
3948
  enumerable: true,
3761
3949
  get: () => livePlayer.LivePlayer
@@ -3764,6 +3952,22 @@ Object.defineProperty(exports, "LivePlayerProvider", {
3764
3952
  enumerable: true,
3765
3953
  get: () => livePlayer.LivePlayerProvider
3766
3954
  });
3955
+ Object.defineProperty(exports, "PLAYER_STATE", {
3956
+ enumerable: true,
3957
+ get: () => livePlayer.PLAYER_STATE
3958
+ });
3959
+ Object.defineProperty(exports, "generateId", {
3960
+ enumerable: true,
3961
+ get: () => livePlayer.generateId
3962
+ });
3963
+ Object.defineProperty(exports, "getBaseProject", {
3964
+ enumerable: true,
3965
+ get: () => livePlayer.getBaseProject
3966
+ });
3967
+ Object.defineProperty(exports, "useLivePlayerContext", {
3968
+ enumerable: true,
3969
+ get: () => livePlayer.useLivePlayerContext
3970
+ });
3767
3971
  exports.AudioPanel = AudioPanel;
3768
3972
  exports.CAPTION_PROPS = CAPTION_PROPS;
3769
3973
  exports.CirclePanel = CirclePanel;