@xhub-short/sdk 1.0.0-beta.25 → 1.0.0-beta.26
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 +134 -124
- package/dist/index.js +46 -13
- package/package.json +8 -8
package/dist/index.d.ts
CHANGED
|
@@ -1718,6 +1718,130 @@ interface DefaultVideoSlotProps {
|
|
|
1718
1718
|
}
|
|
1719
1719
|
declare const DefaultVideoSlot: react.NamedExoticComponent<DefaultVideoSlotProps>;
|
|
1720
1720
|
|
|
1721
|
+
/**
|
|
1722
|
+
* Snap-back animation type
|
|
1723
|
+
* - 'none': Instant snap (no animation)
|
|
1724
|
+
* - 'ease': Smooth ease-out transition
|
|
1725
|
+
* - 'spring': Spring-like bounce effect
|
|
1726
|
+
*/
|
|
1727
|
+
type SnapBackAnimation = 'none' | 'ease' | 'spring';
|
|
1728
|
+
/**
|
|
1729
|
+
* Configuration for useZoomGesture
|
|
1730
|
+
*/
|
|
1731
|
+
interface UseZoomGestureConfig {
|
|
1732
|
+
/** Minimum scale factor (default: 1) */
|
|
1733
|
+
minScale?: number;
|
|
1734
|
+
/** Maximum scale factor (default: 5) */
|
|
1735
|
+
maxScale?: number;
|
|
1736
|
+
/** Whether to lock vertical swipe during zoom (default: true) */
|
|
1737
|
+
lockVerticalSwipe?: boolean;
|
|
1738
|
+
/**
|
|
1739
|
+
* Snap-back animation type (default: 'ease')
|
|
1740
|
+
* - 'none': Instant snap, onZoomEnd called immediately
|
|
1741
|
+
* - 'ease': Smooth ease-out, onZoomEnd called after duration
|
|
1742
|
+
* - 'spring': Spring bounce effect, onZoomEnd called after duration
|
|
1743
|
+
*/
|
|
1744
|
+
snapBackAnimation?: SnapBackAnimation;
|
|
1745
|
+
/** Snap-back animation duration in ms (default: 200) */
|
|
1746
|
+
snapBackDuration?: number;
|
|
1747
|
+
/** Callback when zoom starts (scale > 1) */
|
|
1748
|
+
onZoomStart?: () => void;
|
|
1749
|
+
/** Callback when zoom ends (after snap-back animation completes) */
|
|
1750
|
+
onZoomEnd?: (finalScale: number) => void;
|
|
1751
|
+
/** Callback on scale change during gesture */
|
|
1752
|
+
onZoomChange?: (scale: number) => void;
|
|
1753
|
+
/** Whether zoom is enabled (default: true) */
|
|
1754
|
+
enabled?: boolean;
|
|
1755
|
+
}
|
|
1756
|
+
/**
|
|
1757
|
+
* Touch event handlers
|
|
1758
|
+
*/
|
|
1759
|
+
interface ZoomGestureHandlers {
|
|
1760
|
+
onTouchStart: (e: react__default.TouchEvent) => void;
|
|
1761
|
+
onTouchMove: (e: react__default.TouchEvent) => void;
|
|
1762
|
+
onTouchEnd: (e: react__default.TouchEvent) => void;
|
|
1763
|
+
}
|
|
1764
|
+
/**
|
|
1765
|
+
* Return type for useZoomGesture
|
|
1766
|
+
*/
|
|
1767
|
+
interface UseZoomGestureReturn {
|
|
1768
|
+
/** Current scale factor (1 = normal) */
|
|
1769
|
+
scale: number;
|
|
1770
|
+
/** Current X translation in pixels */
|
|
1771
|
+
translateX: number;
|
|
1772
|
+
/** Current Y translation in pixels */
|
|
1773
|
+
translateY: number;
|
|
1774
|
+
/** Whether actively zooming (2+ fingers) */
|
|
1775
|
+
isZooming: boolean;
|
|
1776
|
+
/** Whether currently panning while zoomed */
|
|
1777
|
+
isPanning: boolean;
|
|
1778
|
+
/** Whether snap-back animation is playing */
|
|
1779
|
+
isAnimating: boolean;
|
|
1780
|
+
/** Whether vertical swipe is locked */
|
|
1781
|
+
isSwipeLocked: boolean;
|
|
1782
|
+
/** Touch event handlers to spread on container */
|
|
1783
|
+
handlers: ZoomGestureHandlers;
|
|
1784
|
+
/** Manually reset to default state */
|
|
1785
|
+
reset: () => void;
|
|
1786
|
+
/** CSS transform string for convenience */
|
|
1787
|
+
transform: string;
|
|
1788
|
+
/** CSS transform-origin string */
|
|
1789
|
+
transformOrigin: string;
|
|
1790
|
+
/**
|
|
1791
|
+
* CSS styles for container element.
|
|
1792
|
+
* Includes `touchAction: 'none'` for proper gesture handling on mobile.
|
|
1793
|
+
* Always spread this on your container for best compatibility.
|
|
1794
|
+
*/
|
|
1795
|
+
containerStyle: react__default.CSSProperties;
|
|
1796
|
+
/**
|
|
1797
|
+
* CSS transition string for snap-back animation.
|
|
1798
|
+
* Apply this to the transform property for smooth animations.
|
|
1799
|
+
*/
|
|
1800
|
+
transitionStyle: react__default.CSSProperties;
|
|
1801
|
+
}
|
|
1802
|
+
/**
|
|
1803
|
+
* useZoomGesture - Pinch-to-zoom gesture handler
|
|
1804
|
+
*
|
|
1805
|
+
* Handles pinch gestures for video zoom with pan support.
|
|
1806
|
+
* Always snaps back to scale=1 on release (Instagram Reels behavior).
|
|
1807
|
+
*
|
|
1808
|
+
* @example
|
|
1809
|
+
* ```tsx
|
|
1810
|
+
* function VideoPlayer({ video }: { video: VideoItem }) {
|
|
1811
|
+
* const {
|
|
1812
|
+
* transform,
|
|
1813
|
+
* transformOrigin,
|
|
1814
|
+
* containerStyle,
|
|
1815
|
+
* handlers,
|
|
1816
|
+
* isZooming,
|
|
1817
|
+
* } = useZoomGesture({
|
|
1818
|
+
* onZoomStart: () => enterCleanMode('zoom'),
|
|
1819
|
+
* onZoomEnd: () => exitCleanMode(),
|
|
1820
|
+
* snapBackAnimation: 'ease', // smooth snap-back
|
|
1821
|
+
* });
|
|
1822
|
+
*
|
|
1823
|
+
* return (
|
|
1824
|
+
* <div
|
|
1825
|
+
* style={{
|
|
1826
|
+
* ...containerStyle, // includes touchAction: 'none' for proper gesture handling
|
|
1827
|
+
* transform,
|
|
1828
|
+
* transformOrigin,
|
|
1829
|
+
* }}
|
|
1830
|
+
* {...handlers}
|
|
1831
|
+
* >
|
|
1832
|
+
* <video src={video.url} />
|
|
1833
|
+
* </div>
|
|
1834
|
+
* );
|
|
1835
|
+
* }
|
|
1836
|
+
* ```
|
|
1837
|
+
*
|
|
1838
|
+
* @remarks
|
|
1839
|
+
* **Important:** Always spread `containerStyle` on your container element.
|
|
1840
|
+
* This sets `touchAction: 'none'` which is required for `preventDefault()` to work
|
|
1841
|
+
* on mobile browsers (Chrome 56+, Safari) where touch events are passive by default.
|
|
1842
|
+
*/
|
|
1843
|
+
declare function useZoomGesture(config?: UseZoomGestureConfig): UseZoomGestureReturn;
|
|
1844
|
+
|
|
1721
1845
|
/**
|
|
1722
1846
|
* Minimum requirements for content used in SlotComposer
|
|
1723
1847
|
*/
|
|
@@ -1749,6 +1873,14 @@ interface ComposerState {
|
|
|
1749
1873
|
isMenuOpen: boolean;
|
|
1750
1874
|
/** Whether report sheet is open */
|
|
1751
1875
|
isReportSheetOpen: boolean;
|
|
1876
|
+
/** Zoom transform property */
|
|
1877
|
+
zoomTransform: string;
|
|
1878
|
+
/** Zoom transform origin */
|
|
1879
|
+
zoomTransformOrigin: string;
|
|
1880
|
+
/** Zoom container style (includes touchAction: 'none') */
|
|
1881
|
+
zoomContainerStyle: React.CSSProperties;
|
|
1882
|
+
/** Zoom snap-back transition style */
|
|
1883
|
+
zoomTransitionStyle: React.CSSProperties;
|
|
1752
1884
|
}
|
|
1753
1885
|
/**
|
|
1754
1886
|
* Handlers provided by SlotComposer
|
|
@@ -1772,6 +1904,8 @@ interface ComposerHandlers {
|
|
|
1772
1904
|
setCommentSheetOpen: (open: boolean) => void;
|
|
1773
1905
|
setMenuOpen: (open: boolean) => void;
|
|
1774
1906
|
setReportSheetOpen: (open: boolean) => void;
|
|
1907
|
+
/** Pinch-to-zoom touch event handlers */
|
|
1908
|
+
zoomHandlers: ReturnType<typeof useZoomGesture>['handlers'];
|
|
1775
1909
|
}
|
|
1776
1910
|
/**
|
|
1777
1911
|
* Pre-configured wired components
|
|
@@ -3725,130 +3859,6 @@ interface UseAdvancedControlsConfig {
|
|
|
3725
3859
|
*/
|
|
3726
3860
|
declare function useAdvancedControls(config?: UseAdvancedControlsConfig): UseAdvancedControlsReturn;
|
|
3727
3861
|
|
|
3728
|
-
/**
|
|
3729
|
-
* Snap-back animation type
|
|
3730
|
-
* - 'none': Instant snap (no animation)
|
|
3731
|
-
* - 'ease': Smooth ease-out transition
|
|
3732
|
-
* - 'spring': Spring-like bounce effect
|
|
3733
|
-
*/
|
|
3734
|
-
type SnapBackAnimation = 'none' | 'ease' | 'spring';
|
|
3735
|
-
/**
|
|
3736
|
-
* Configuration for useZoomGesture
|
|
3737
|
-
*/
|
|
3738
|
-
interface UseZoomGestureConfig {
|
|
3739
|
-
/** Minimum scale factor (default: 1) */
|
|
3740
|
-
minScale?: number;
|
|
3741
|
-
/** Maximum scale factor (default: 5) */
|
|
3742
|
-
maxScale?: number;
|
|
3743
|
-
/** Whether to lock vertical swipe during zoom (default: true) */
|
|
3744
|
-
lockVerticalSwipe?: boolean;
|
|
3745
|
-
/**
|
|
3746
|
-
* Snap-back animation type (default: 'ease')
|
|
3747
|
-
* - 'none': Instant snap, onZoomEnd called immediately
|
|
3748
|
-
* - 'ease': Smooth ease-out, onZoomEnd called after duration
|
|
3749
|
-
* - 'spring': Spring bounce effect, onZoomEnd called after duration
|
|
3750
|
-
*/
|
|
3751
|
-
snapBackAnimation?: SnapBackAnimation;
|
|
3752
|
-
/** Snap-back animation duration in ms (default: 200) */
|
|
3753
|
-
snapBackDuration?: number;
|
|
3754
|
-
/** Callback when zoom starts (scale > 1) */
|
|
3755
|
-
onZoomStart?: () => void;
|
|
3756
|
-
/** Callback when zoom ends (after snap-back animation completes) */
|
|
3757
|
-
onZoomEnd?: (finalScale: number) => void;
|
|
3758
|
-
/** Callback on scale change during gesture */
|
|
3759
|
-
onZoomChange?: (scale: number) => void;
|
|
3760
|
-
/** Whether zoom is enabled (default: true) */
|
|
3761
|
-
enabled?: boolean;
|
|
3762
|
-
}
|
|
3763
|
-
/**
|
|
3764
|
-
* Touch event handlers
|
|
3765
|
-
*/
|
|
3766
|
-
interface ZoomGestureHandlers {
|
|
3767
|
-
onTouchStart: (e: react__default.TouchEvent) => void;
|
|
3768
|
-
onTouchMove: (e: react__default.TouchEvent) => void;
|
|
3769
|
-
onTouchEnd: (e: react__default.TouchEvent) => void;
|
|
3770
|
-
}
|
|
3771
|
-
/**
|
|
3772
|
-
* Return type for useZoomGesture
|
|
3773
|
-
*/
|
|
3774
|
-
interface UseZoomGestureReturn {
|
|
3775
|
-
/** Current scale factor (1 = normal) */
|
|
3776
|
-
scale: number;
|
|
3777
|
-
/** Current X translation in pixels */
|
|
3778
|
-
translateX: number;
|
|
3779
|
-
/** Current Y translation in pixels */
|
|
3780
|
-
translateY: number;
|
|
3781
|
-
/** Whether actively zooming (2+ fingers) */
|
|
3782
|
-
isZooming: boolean;
|
|
3783
|
-
/** Whether currently panning while zoomed */
|
|
3784
|
-
isPanning: boolean;
|
|
3785
|
-
/** Whether snap-back animation is playing */
|
|
3786
|
-
isAnimating: boolean;
|
|
3787
|
-
/** Whether vertical swipe is locked */
|
|
3788
|
-
isSwipeLocked: boolean;
|
|
3789
|
-
/** Touch event handlers to spread on container */
|
|
3790
|
-
handlers: ZoomGestureHandlers;
|
|
3791
|
-
/** Manually reset to default state */
|
|
3792
|
-
reset: () => void;
|
|
3793
|
-
/** CSS transform string for convenience */
|
|
3794
|
-
transform: string;
|
|
3795
|
-
/** CSS transform-origin string */
|
|
3796
|
-
transformOrigin: string;
|
|
3797
|
-
/**
|
|
3798
|
-
* CSS styles for container element.
|
|
3799
|
-
* Includes `touchAction: 'none'` for proper gesture handling on mobile.
|
|
3800
|
-
* Always spread this on your container for best compatibility.
|
|
3801
|
-
*/
|
|
3802
|
-
containerStyle: react__default.CSSProperties;
|
|
3803
|
-
/**
|
|
3804
|
-
* CSS transition string for snap-back animation.
|
|
3805
|
-
* Apply this to the transform property for smooth animations.
|
|
3806
|
-
*/
|
|
3807
|
-
transitionStyle: react__default.CSSProperties;
|
|
3808
|
-
}
|
|
3809
|
-
/**
|
|
3810
|
-
* useZoomGesture - Pinch-to-zoom gesture handler
|
|
3811
|
-
*
|
|
3812
|
-
* Handles pinch gestures for video zoom with pan support.
|
|
3813
|
-
* Always snaps back to scale=1 on release (Instagram Reels behavior).
|
|
3814
|
-
*
|
|
3815
|
-
* @example
|
|
3816
|
-
* ```tsx
|
|
3817
|
-
* function VideoPlayer({ video }: { video: VideoItem }) {
|
|
3818
|
-
* const {
|
|
3819
|
-
* transform,
|
|
3820
|
-
* transformOrigin,
|
|
3821
|
-
* containerStyle,
|
|
3822
|
-
* handlers,
|
|
3823
|
-
* isZooming,
|
|
3824
|
-
* } = useZoomGesture({
|
|
3825
|
-
* onZoomStart: () => enterCleanMode('zoom'),
|
|
3826
|
-
* onZoomEnd: () => exitCleanMode(),
|
|
3827
|
-
* snapBackAnimation: 'ease', // smooth snap-back
|
|
3828
|
-
* });
|
|
3829
|
-
*
|
|
3830
|
-
* return (
|
|
3831
|
-
* <div
|
|
3832
|
-
* style={{
|
|
3833
|
-
* ...containerStyle, // includes touchAction: 'none' for proper gesture handling
|
|
3834
|
-
* transform,
|
|
3835
|
-
* transformOrigin,
|
|
3836
|
-
* }}
|
|
3837
|
-
* {...handlers}
|
|
3838
|
-
* >
|
|
3839
|
-
* <video src={video.url} />
|
|
3840
|
-
* </div>
|
|
3841
|
-
* );
|
|
3842
|
-
* }
|
|
3843
|
-
* ```
|
|
3844
|
-
*
|
|
3845
|
-
* @remarks
|
|
3846
|
-
* **Important:** Always spread `containerStyle` on your container element.
|
|
3847
|
-
* This sets `touchAction: 'none'` which is required for `preventDefault()` to work
|
|
3848
|
-
* on mobile browsers (Chrome 56+, Safari) where touch events are passive by default.
|
|
3849
|
-
*/
|
|
3850
|
-
declare function useZoomGesture(config?: UseZoomGestureConfig): UseZoomGestureReturn;
|
|
3851
|
-
|
|
3852
3862
|
/**
|
|
3853
3863
|
* useReportedVideo - Hook to check/manage reported video state
|
|
3854
3864
|
*
|
package/dist/index.js
CHANGED
|
@@ -46,19 +46,17 @@ var PlaylistFeedAdapter = class {
|
|
|
46
46
|
});
|
|
47
47
|
});
|
|
48
48
|
}
|
|
49
|
-
const
|
|
50
|
-
const items = currentState.items;
|
|
49
|
+
const items = this.playlistManager.getFullItems();
|
|
51
50
|
return {
|
|
52
51
|
items,
|
|
53
52
|
nextCursor: null,
|
|
54
|
-
// Playlist sliding window
|
|
53
|
+
// Playlist is finite — sliding window manages memory, not pagination
|
|
55
54
|
hasMore: false
|
|
56
55
|
};
|
|
57
56
|
}
|
|
58
57
|
async getContentDetail(id) {
|
|
59
|
-
const
|
|
60
|
-
|
|
61
|
-
if (item) return item;
|
|
58
|
+
const fullItem = this.playlistManager.getFullItems().find((i) => i.id === id);
|
|
59
|
+
if (fullItem) return fullItem;
|
|
62
60
|
throw new Error(`Content not found in playlist: ${id}`);
|
|
63
61
|
}
|
|
64
62
|
/**
|
|
@@ -3742,8 +3740,8 @@ function PlaylistSheet({ headerAccessory, translations }) {
|
|
|
3742
3740
|
);
|
|
3743
3741
|
const isOpen = state.isPlaylistSheetOpen;
|
|
3744
3742
|
const onClose = useCallback(() => {
|
|
3745
|
-
|
|
3746
|
-
}, [
|
|
3743
|
+
uiStore.getState().closePlaylistSheet();
|
|
3744
|
+
}, [uiStore]);
|
|
3747
3745
|
const handleItemSelect = useCallback(
|
|
3748
3746
|
(index) => {
|
|
3749
3747
|
jumpTo(index);
|
|
@@ -4419,7 +4417,14 @@ function SlotComposer({
|
|
|
4419
4417
|
const reactiveContent = useFeedSelector(
|
|
4420
4418
|
(state) => state.itemsById.get(initialContent.id) ?? initialContent
|
|
4421
4419
|
);
|
|
4422
|
-
const {
|
|
4420
|
+
const {
|
|
4421
|
+
isZooming,
|
|
4422
|
+
transform,
|
|
4423
|
+
transformOrigin,
|
|
4424
|
+
containerStyle,
|
|
4425
|
+
transitionStyle,
|
|
4426
|
+
handlers: zoomHandlers
|
|
4427
|
+
} = useZoomGesture({
|
|
4423
4428
|
enabled: true,
|
|
4424
4429
|
maxScale: zoomMaxScale,
|
|
4425
4430
|
snapBackAnimation: zoomSnapBackAnimation,
|
|
@@ -4500,6 +4505,10 @@ function SlotComposer({
|
|
|
4500
4505
|
state: {
|
|
4501
4506
|
cleanMode,
|
|
4502
4507
|
isZoomActive: isZooming,
|
|
4508
|
+
zoomTransform: transform,
|
|
4509
|
+
zoomTransformOrigin: transformOrigin,
|
|
4510
|
+
zoomContainerStyle: containerStyle,
|
|
4511
|
+
zoomTransitionStyle: transitionStyle,
|
|
4503
4512
|
isLiked: reactiveContent.isLiked ?? false,
|
|
4504
4513
|
isBookmarked,
|
|
4505
4514
|
isCommentSheetOpen,
|
|
@@ -4516,7 +4525,8 @@ function SlotComposer({
|
|
|
4516
4525
|
handleCloseAll,
|
|
4517
4526
|
setCommentSheetOpen,
|
|
4518
4527
|
setMenuOpen,
|
|
4519
|
-
setReportSheetOpen
|
|
4528
|
+
setReportSheetOpen,
|
|
4529
|
+
zoomHandlers
|
|
4520
4530
|
},
|
|
4521
4531
|
components: {
|
|
4522
4532
|
ActionBarComponent: ({ icons, onOpenComments: onOpenC, onShare: onS }) => {
|
|
@@ -4579,6 +4589,11 @@ function SlotComposer({
|
|
|
4579
4589
|
initialContent.id,
|
|
4580
4590
|
cleanMode,
|
|
4581
4591
|
isZooming,
|
|
4592
|
+
transform,
|
|
4593
|
+
transformOrigin,
|
|
4594
|
+
containerStyle,
|
|
4595
|
+
transitionStyle,
|
|
4596
|
+
zoomHandlers,
|
|
4582
4597
|
isBookmarked,
|
|
4583
4598
|
isCommentSheetOpen,
|
|
4584
4599
|
isMenuOpen,
|
|
@@ -5440,7 +5455,23 @@ function DefaultVideoSlotContent(props) {
|
|
|
5440
5455
|
disableTap: enableZoom && isZoomActive,
|
|
5441
5456
|
onHidden: () => onContentHidden?.(video.id),
|
|
5442
5457
|
children: [
|
|
5443
|
-
|
|
5458
|
+
enableZoom ? /* @__PURE__ */ jsx(
|
|
5459
|
+
"div",
|
|
5460
|
+
{
|
|
5461
|
+
style: {
|
|
5462
|
+
...state.zoomContainerStyle,
|
|
5463
|
+
transform: state.zoomTransform,
|
|
5464
|
+
transformOrigin: state.zoomTransformOrigin,
|
|
5465
|
+
transition: state.zoomTransitionStyle.transition,
|
|
5466
|
+
position: "absolute",
|
|
5467
|
+
inset: 0,
|
|
5468
|
+
width: "100%",
|
|
5469
|
+
height: "100%"
|
|
5470
|
+
},
|
|
5471
|
+
...handlers.zoomHandlers,
|
|
5472
|
+
children: renderPlayer ? renderPlayer({ muted: false }) : /* @__PURE__ */ jsx(VideoPlayer, { muted: false })
|
|
5473
|
+
}
|
|
5474
|
+
) : renderPlayer ? renderPlayer({ muted: false }) : /* @__PURE__ */ jsx(VideoPlayer, { muted: false }),
|
|
5444
5475
|
showPoster && !isZoomActive && !cleanMode && /* @__PURE__ */ jsx(VideoSlotPoster, {}),
|
|
5445
5476
|
showPlayIndicator && !isZoomActive && /* @__PURE__ */ jsx(VideoSlotPlayIndicator, { persistWhenPaused: persistPlayIndicatorWhenPaused }),
|
|
5446
5477
|
showLikeAnimation && /* @__PURE__ */ jsx(
|
|
@@ -6512,8 +6543,8 @@ function createSDK(config) {
|
|
|
6512
6543
|
...config?.optimistic
|
|
6513
6544
|
});
|
|
6514
6545
|
const uiStore = createUIStore();
|
|
6515
|
-
const playlistManager = new PlaylistManager(playlist);
|
|
6516
|
-
const playlistCollectionManager = new PlaylistCollectionManager(playlist);
|
|
6546
|
+
const playlistManager = new PlaylistManager(playlist, {}, resourceGovernor, storage);
|
|
6547
|
+
const playlistCollectionManager = new PlaylistCollectionManager(playlist, storage);
|
|
6517
6548
|
const bootstrapSettings = async () => {
|
|
6518
6549
|
try {
|
|
6519
6550
|
const savedSpeed = await storage.get(STORAGE_KEY_SPEED);
|
|
@@ -6526,6 +6557,8 @@ function createSDK(config) {
|
|
|
6526
6557
|
uiStore.getState().setAutoScrollEnabled(!!savedAutoScroll);
|
|
6527
6558
|
logger.debug("[SDK] Restored auto-scroll from storage", { enabled: !!savedAutoScroll });
|
|
6528
6559
|
}
|
|
6560
|
+
await playlistCollectionManager.hydrateFromCache();
|
|
6561
|
+
logger.debug("[SDK] Hydrated playlist collection from cache");
|
|
6529
6562
|
} catch (error) {
|
|
6530
6563
|
logger.error("[SDK] Failed to restore settings from storage", error);
|
|
6531
6564
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xhub-short/sdk",
|
|
3
3
|
"sideEffects": false,
|
|
4
|
-
"version": "1.0.0-beta.
|
|
4
|
+
"version": "1.0.0-beta.26",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"publishConfig": {
|
|
7
7
|
"access": "public"
|
|
@@ -21,13 +21,13 @@
|
|
|
21
21
|
],
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"zustand": "^5.0.0",
|
|
24
|
-
"@xhub-short/contracts": "1.0.0-beta.
|
|
25
|
-
"@xhub-short/adapters": "1.0.0-beta.
|
|
26
|
-
"@xhub-short/core": "1.0.0-beta.
|
|
27
|
-
"@xhub-short/ui": "1.0.0-beta.
|
|
24
|
+
"@xhub-short/contracts": "1.0.0-beta.26",
|
|
25
|
+
"@xhub-short/adapters": "1.0.0-beta.26",
|
|
26
|
+
"@xhub-short/core": "1.0.0-beta.26",
|
|
27
|
+
"@xhub-short/ui": "1.0.0-beta.26"
|
|
28
28
|
},
|
|
29
29
|
"optionalDependencies": {
|
|
30
|
-
"@xhub-short/bridge": "0.1.0-beta.
|
|
30
|
+
"@xhub-short/bridge": "0.1.0-beta.25"
|
|
31
31
|
},
|
|
32
32
|
"peerDependencies": {
|
|
33
33
|
"react": "^19.0.0",
|
|
@@ -43,8 +43,8 @@
|
|
|
43
43
|
"tsup": "^8.3.0",
|
|
44
44
|
"typescript": "^5.7.0",
|
|
45
45
|
"vitest": "^2.1.0",
|
|
46
|
-
"@xhub-short/
|
|
47
|
-
"@xhub-short/
|
|
46
|
+
"@xhub-short/vitest-config": "0.1.0-beta.13",
|
|
47
|
+
"@xhub-short/tsconfig": "0.0.1-beta.2"
|
|
48
48
|
},
|
|
49
49
|
"scripts": {
|
|
50
50
|
"build": "tsup",
|