@solostylist/ui-kit-native 1.0.0 → 1.0.2
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/hooks/index.d.ts +6 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/hooks/index.js +5 -0
- package/dist/hooks/use-count-down.d.ts +72 -0
- package/dist/hooks/use-count-down.d.ts.map +1 -0
- package/dist/hooks/use-count-down.js +203 -0
- package/dist/hooks/use-is-passed-position.d.ts +20 -0
- package/dist/hooks/use-is-passed-position.d.ts.map +1 -0
- package/dist/hooks/use-is-passed-position.js +31 -0
- package/dist/index.d.ts +36 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +37 -0
- package/dist/s-avatar/index.d.ts +3 -0
- package/dist/s-avatar/index.d.ts.map +1 -0
- package/dist/s-avatar/index.js +1 -0
- package/dist/s-avatar/s-avatar.d.ts +43 -0
- package/dist/s-avatar/s-avatar.d.ts.map +1 -0
- package/dist/s-avatar/s-avatar.js +119 -0
- package/dist/s-button/index.d.ts +3 -0
- package/dist/s-button/index.d.ts.map +1 -0
- package/dist/s-button/index.js +1 -0
- package/dist/s-button/s-button.d.ts +55 -0
- package/dist/s-button/s-button.d.ts.map +1 -0
- package/dist/s-button/s-button.js +161 -0
- package/dist/s-button-link/index.d.ts +2 -0
- package/dist/s-button-link/index.d.ts.map +1 -0
- package/dist/s-button-link/index.js +1 -0
- package/dist/s-button-link/s-button-link.d.ts +43 -0
- package/dist/s-button-link/s-button-link.d.ts.map +1 -0
- package/dist/s-button-link/s-button-link.js +59 -0
- package/dist/s-chat-input/index.d.ts +2 -0
- package/dist/s-chat-input/index.d.ts.map +1 -0
- package/dist/s-chat-input/index.js +1 -0
- package/dist/s-chat-input/s-chat-input.d.ts +52 -0
- package/dist/s-chat-input/s-chat-input.d.ts.map +1 -0
- package/dist/s-chat-input/s-chat-input.js +135 -0
- package/dist/s-chat-message/index.d.ts +3 -0
- package/dist/s-chat-message/index.d.ts.map +1 -0
- package/dist/s-chat-message/index.js +2 -0
- package/dist/s-chat-message/s-chat-message.d.ts +61 -0
- package/dist/s-chat-message/s-chat-message.d.ts.map +1 -0
- package/dist/s-chat-message/s-chat-message.js +132 -0
- package/dist/s-checkbox/index.d.ts +3 -0
- package/dist/s-checkbox/index.d.ts.map +1 -0
- package/dist/s-checkbox/index.js +1 -0
- package/dist/s-checkbox/s-checkbox.d.ts +32 -0
- package/dist/s-checkbox/s-checkbox.d.ts.map +1 -0
- package/dist/s-checkbox/s-checkbox.js +52 -0
- package/dist/s-chip/index.d.ts +3 -0
- package/dist/s-chip/index.d.ts.map +1 -0
- package/dist/s-chip/index.js +1 -0
- package/dist/s-chip/s-chip.d.ts +52 -0
- package/dist/s-chip/s-chip.d.ts.map +1 -0
- package/dist/s-chip/s-chip.js +151 -0
- package/dist/s-code-block/index.d.ts +3 -0
- package/dist/s-code-block/index.d.ts.map +1 -0
- package/dist/s-code-block/index.js +2 -0
- package/dist/s-code-block/s-code-block.d.ts +40 -0
- package/dist/s-code-block/s-code-block.d.ts.map +1 -0
- package/dist/s-code-block/s-code-block.js +69 -0
- package/dist/s-comment-message/index.d.ts +3 -0
- package/dist/s-comment-message/index.d.ts.map +1 -0
- package/dist/s-comment-message/index.js +2 -0
- package/dist/s-comment-message/s-comment-message.d.ts +54 -0
- package/dist/s-comment-message/s-comment-message.d.ts.map +1 -0
- package/dist/s-comment-message/s-comment-message.js +109 -0
- package/dist/s-copyable-text/index.d.ts +3 -0
- package/dist/s-copyable-text/index.d.ts.map +1 -0
- package/dist/s-copyable-text/index.js +1 -0
- package/dist/s-copyable-text/s-copyable-text.d.ts +24 -0
- package/dist/s-copyable-text/s-copyable-text.d.ts.map +1 -0
- package/dist/s-copyable-text/s-copyable-text.js +52 -0
- package/dist/s-countdown/index.d.ts +7 -0
- package/dist/s-countdown/index.d.ts.map +1 -0
- package/dist/s-countdown/index.js +6 -0
- package/dist/s-countdown/s-count-box.d.ts +44 -0
- package/dist/s-countdown/s-count-box.d.ts.map +1 -0
- package/dist/s-countdown/s-count-box.js +135 -0
- package/dist/s-countdown/s-countdown.d.ts +72 -0
- package/dist/s-countdown/s-countdown.d.ts.map +1 -0
- package/dist/s-countdown/s-countdown.js +94 -0
- package/dist/s-data-table/index.d.ts +3 -0
- package/dist/s-data-table/index.d.ts.map +1 -0
- package/dist/s-data-table/index.js +2 -0
- package/dist/s-data-table/s-data-table.d.ts +64 -0
- package/dist/s-data-table/s-data-table.d.ts.map +1 -0
- package/dist/s-data-table/s-data-table.js +75 -0
- package/dist/s-date-picker/index.d.ts +3 -0
- package/dist/s-date-picker/index.d.ts.map +1 -0
- package/dist/s-date-picker/index.js +2 -0
- package/dist/s-date-picker/s-date-picker.d.ts +41 -0
- package/dist/s-date-picker/s-date-picker.d.ts.map +1 -0
- package/dist/s-date-picker/s-date-picker.js +161 -0
- package/dist/s-date-time-picker/index.d.ts +3 -0
- package/dist/s-date-time-picker/index.d.ts.map +1 -0
- package/dist/s-date-time-picker/index.js +2 -0
- package/dist/s-date-time-picker/s-date-time-picker.d.ts +47 -0
- package/dist/s-date-time-picker/s-date-time-picker.d.ts.map +1 -0
- package/dist/s-date-time-picker/s-date-time-picker.js +298 -0
- package/dist/s-divider/index.d.ts +2 -0
- package/dist/s-divider/index.d.ts.map +1 -0
- package/dist/s-divider/index.js +1 -0
- package/dist/s-divider/s-divider.d.ts +24 -0
- package/dist/s-divider/s-divider.d.ts.map +1 -0
- package/dist/s-divider/s-divider.js +30 -0
- package/dist/s-file-dropzone/index.d.ts +3 -0
- package/dist/s-file-dropzone/index.d.ts.map +1 -0
- package/dist/s-file-dropzone/index.js +2 -0
- package/dist/s-file-dropzone/s-file-dropzone.d.ts +63 -0
- package/dist/s-file-dropzone/s-file-dropzone.d.ts.map +1 -0
- package/dist/s-file-dropzone/s-file-dropzone.js +115 -0
- package/dist/s-file-icon/index.d.ts +3 -0
- package/dist/s-file-icon/index.d.ts.map +1 -0
- package/dist/s-file-icon/index.js +2 -0
- package/dist/s-file-icon/s-file-icon.d.ts +23 -0
- package/dist/s-file-icon/s-file-icon.d.ts.map +1 -0
- package/dist/s-file-icon/s-file-icon.js +86 -0
- package/dist/s-form/s-form.d.ts +0 -1
- package/dist/s-form/s-form.d.ts.map +1 -1
- package/dist/s-form/s-form.js +0 -1
- package/dist/s-icon-button/s-icon-button.d.ts +9 -9
- package/dist/s-icon-button/s-icon-button.d.ts.map +1 -1
- package/dist/s-icon-button/s-icon-button.js +38 -4
- package/dist/s-image-comparison/index.d.ts +2 -0
- package/dist/s-image-comparison/index.d.ts.map +1 -0
- package/dist/s-image-comparison/index.js +1 -0
- package/dist/s-image-comparison/s-image-comparison.d.ts +35 -0
- package/dist/s-image-comparison/s-image-comparison.d.ts.map +1 -0
- package/dist/s-image-comparison/s-image-comparison.js +111 -0
- package/dist/s-label/index.d.ts +3 -0
- package/dist/s-label/index.d.ts.map +1 -0
- package/dist/s-label/index.js +1 -0
- package/dist/s-label/s-label.d.ts +24 -0
- package/dist/s-label/s-label.d.ts.map +1 -0
- package/dist/s-label/s-label.js +19 -0
- package/dist/s-language-switcher/index.d.ts +4 -0
- package/dist/s-language-switcher/index.d.ts.map +1 -0
- package/dist/s-language-switcher/index.js +2 -0
- package/dist/s-language-switcher/s-language-switcher.d.ts +53 -0
- package/dist/s-language-switcher/s-language-switcher.d.ts.map +1 -0
- package/dist/s-language-switcher/s-language-switcher.js +57 -0
- package/dist/s-lazy-image/index.d.ts +3 -0
- package/dist/s-lazy-image/index.d.ts.map +1 -0
- package/dist/s-lazy-image/index.js +1 -0
- package/dist/s-lazy-image/s-lazy-image.d.ts +43 -0
- package/dist/s-lazy-image/s-lazy-image.d.ts.map +1 -0
- package/dist/s-lazy-image/s-lazy-image.js +74 -0
- package/dist/s-moving-border/index.d.ts +2 -0
- package/dist/s-moving-border/index.d.ts.map +1 -0
- package/dist/s-moving-border/index.js +1 -0
- package/dist/s-moving-border/s-moving-border.d.ts +38 -0
- package/dist/s-moving-border/s-moving-border.d.ts.map +1 -0
- package/dist/s-moving-border/s-moving-border.js +153 -0
- package/dist/s-multi-select/index.d.ts +2 -0
- package/dist/s-multi-select/index.d.ts.map +1 -0
- package/dist/s-multi-select/index.js +1 -0
- package/dist/s-multi-select/s-multi-select.d.ts +53 -0
- package/dist/s-multi-select/s-multi-select.d.ts.map +1 -0
- package/dist/s-multi-select/s-multi-select.js +150 -0
- package/dist/s-pagination/index.d.ts +3 -0
- package/dist/s-pagination/index.d.ts.map +1 -0
- package/dist/s-pagination/index.js +2 -0
- package/dist/s-pagination/s-pagination.d.ts +49 -0
- package/dist/s-pagination/s-pagination.d.ts.map +1 -0
- package/dist/s-pagination/s-pagination.js +147 -0
- package/dist/s-rating/index.d.ts +3 -0
- package/dist/s-rating/index.d.ts.map +1 -0
- package/dist/s-rating/index.js +1 -0
- package/dist/s-rating/s-rating.d.ts +55 -0
- package/dist/s-rating/s-rating.d.ts.map +1 -0
- package/dist/s-rating/s-rating.js +157 -0
- package/dist/s-review/index.d.ts +3 -0
- package/dist/s-review/index.d.ts.map +1 -0
- package/dist/s-review/index.js +1 -0
- package/dist/s-review/s-review.d.ts +55 -0
- package/dist/s-review/s-review.d.ts.map +1 -0
- package/dist/s-review/s-review.js +148 -0
- package/dist/s-scroll-to-top/index.d.ts +3 -0
- package/dist/s-scroll-to-top/index.d.ts.map +1 -0
- package/dist/s-scroll-to-top/index.js +2 -0
- package/dist/s-scroll-to-top/s-scroll-to-top.d.ts +36 -0
- package/dist/s-scroll-to-top/s-scroll-to-top.d.ts.map +1 -0
- package/dist/s-scroll-to-top/s-scroll-to-top.js +61 -0
- package/dist/s-select/s-select.d.ts +1 -3
- package/dist/s-select/s-select.d.ts.map +1 -1
- package/dist/s-select/s-select.js +61 -101
- package/dist/s-select-list/index.d.ts +3 -0
- package/dist/s-select-list/index.d.ts.map +1 -0
- package/dist/s-select-list/index.js +2 -0
- package/dist/s-select-list/s-select-list.d.ts +34 -0
- package/dist/s-select-list/s-select-list.d.ts.map +1 -0
- package/dist/s-select-list/s-select-list.js +115 -0
- package/dist/s-skeleton/index.d.ts +3 -0
- package/dist/s-skeleton/index.d.ts.map +1 -0
- package/dist/s-skeleton/index.js +1 -0
- package/dist/s-skeleton/s-skeleton.d.ts +27 -0
- package/dist/s-skeleton/s-skeleton.d.ts.map +1 -0
- package/dist/s-skeleton/s-skeleton.js +126 -0
- package/dist/s-switch/index.d.ts +3 -0
- package/dist/s-switch/index.d.ts.map +1 -0
- package/dist/s-switch/index.js +1 -0
- package/dist/s-switch/s-switch.d.ts +30 -0
- package/dist/s-switch/s-switch.d.ts.map +1 -0
- package/dist/s-switch/s-switch.js +44 -0
- package/dist/s-text-field/s-text-field.d.ts +0 -2
- package/dist/s-text-field/s-text-field.d.ts.map +1 -1
- package/dist/s-text-field/s-text-field.js +10 -23
- package/dist/s-text-shimmer/index.d.ts +2 -0
- package/dist/s-text-shimmer/index.d.ts.map +1 -0
- package/dist/s-text-shimmer/index.js +1 -0
- package/dist/s-text-shimmer/s-text-shimmer.d.ts +22 -0
- package/dist/s-text-shimmer/s-text-shimmer.d.ts.map +1 -0
- package/dist/s-text-shimmer/s-text-shimmer.js +102 -0
- package/dist/s-text-truncation/index.d.ts +2 -0
- package/dist/s-text-truncation/index.d.ts.map +1 -0
- package/dist/s-text-truncation/index.js +1 -0
- package/dist/s-text-truncation/s-text-truncation.d.ts +42 -0
- package/dist/s-text-truncation/s-text-truncation.d.ts.map +1 -0
- package/dist/s-text-truncation/s-text-truncation.js +88 -0
- package/dist/s-tip/index.d.ts +3 -0
- package/dist/s-tip/index.d.ts.map +1 -0
- package/dist/s-tip/index.js +1 -0
- package/dist/s-tip/s-tip.d.ts +17 -0
- package/dist/s-tip/s-tip.d.ts.map +1 -0
- package/dist/s-tip/s-tip.js +25 -0
- package/dist/s-tooltip/index.d.ts +2 -0
- package/dist/s-tooltip/index.d.ts.map +1 -0
- package/dist/s-tooltip/index.js +1 -0
- package/dist/s-tooltip/s-tooltip.d.ts +23 -0
- package/dist/s-tooltip/s-tooltip.d.ts.map +1 -0
- package/dist/s-tooltip/s-tooltip.js +17 -0
- package/dist/s-zoom-image/index.d.ts +3 -0
- package/dist/s-zoom-image/index.d.ts.map +1 -0
- package/dist/s-zoom-image/index.js +1 -0
- package/dist/s-zoom-image/s-zoom-image.d.ts +38 -0
- package/dist/s-zoom-image/s-zoom-image.d.ts.map +1 -0
- package/dist/s-zoom-image/s-zoom-image.js +149 -0
- package/dist/theme/theme-primitives.d.ts +10 -0
- package/dist/theme/theme-primitives.d.ts.map +1 -1
- package/dist/theme/theme-primitives.js +11 -0
- package/dist/utils/bytes-to-size.d.ts +9 -0
- package/dist/utils/bytes-to-size.d.ts.map +1 -0
- package/dist/utils/bytes-to-size.js +17 -0
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +1 -0
- package/package.json +175 -5
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useMemo, useState } from 'react';
|
|
3
|
+
import { Animated, Pressable, View, } from 'react-native';
|
|
4
|
+
import { SLazyImage } from '../s-lazy-image';
|
|
5
|
+
/**
|
|
6
|
+
* An interactive image component with smooth zoom-on-press functionality and built-in lazy loading.
|
|
7
|
+
* Built with React Native Animated API for smooth interactions.
|
|
8
|
+
*/
|
|
9
|
+
export const SZoomImage = ({ src, zoomScale = 1.2, borderRadius = 12, skeletonVariant = 'rounded', height = 200, width = '100%', containerStyle, imageStyle, onLoad, onError, }) => {
|
|
10
|
+
// Track whether lazy-loaded image has finished loading
|
|
11
|
+
// This enables zoom functionality only after the image is ready
|
|
12
|
+
const [imageLoaded, setImageLoaded] = useState(false);
|
|
13
|
+
const [containerDimensions, setContainerDimensions] = useState({ width: 0, height: 0 });
|
|
14
|
+
const [isPressed, setIsPressed] = useState(false);
|
|
15
|
+
// Animated values for scale and transform origin
|
|
16
|
+
// Using useMemo ensures these values are created only once during the component lifecycle
|
|
17
|
+
const scale = useMemo(() => new Animated.Value(1), []);
|
|
18
|
+
const translateX = useMemo(() => new Animated.Value(0), []);
|
|
19
|
+
const translateY = useMemo(() => new Animated.Value(0), []);
|
|
20
|
+
const handleLayout = (event) => {
|
|
21
|
+
const { width: layoutWidth, height: layoutHeight } = event.nativeEvent.layout;
|
|
22
|
+
setContainerDimensions({ width: layoutWidth, height: layoutHeight });
|
|
23
|
+
};
|
|
24
|
+
// Handle touch move to update zoom origin
|
|
25
|
+
const handleTouchMove = useCallback((event) => {
|
|
26
|
+
if (!imageLoaded || !isPressed)
|
|
27
|
+
return;
|
|
28
|
+
const { locationX, locationY } = event.nativeEvent;
|
|
29
|
+
// Calculate position as percentage (0 to 1)
|
|
30
|
+
const xPercent = containerDimensions.width > 0 ? locationX / containerDimensions.width : 0.5;
|
|
31
|
+
const yPercent = containerDimensions.height > 0 ? locationY / containerDimensions.height : 0.5;
|
|
32
|
+
// Clamp between 0 and 1
|
|
33
|
+
const clampedX = Math.max(0, Math.min(1, xPercent));
|
|
34
|
+
const clampedY = Math.max(0, Math.min(1, yPercent));
|
|
35
|
+
// Calculate translation to keep zoom centered on touch point
|
|
36
|
+
// When zoomed, we want to translate the image so the touch point stays in place
|
|
37
|
+
const maxTranslateX = (containerDimensions.width * (zoomScale - 1)) / 2;
|
|
38
|
+
const maxTranslateY = (containerDimensions.height * (zoomScale - 1)) / 2;
|
|
39
|
+
const targetTranslateX = maxTranslateX - maxTranslateX * 2 * clampedX;
|
|
40
|
+
const targetTranslateY = maxTranslateY - maxTranslateY * 2 * clampedY;
|
|
41
|
+
Animated.parallel([
|
|
42
|
+
Animated.spring(translateX, {
|
|
43
|
+
toValue: targetTranslateX,
|
|
44
|
+
useNativeDriver: true,
|
|
45
|
+
damping: 20,
|
|
46
|
+
stiffness: 150,
|
|
47
|
+
mass: 0.5,
|
|
48
|
+
}),
|
|
49
|
+
Animated.spring(translateY, {
|
|
50
|
+
toValue: targetTranslateY,
|
|
51
|
+
useNativeDriver: true,
|
|
52
|
+
damping: 20,
|
|
53
|
+
stiffness: 150,
|
|
54
|
+
mass: 0.5,
|
|
55
|
+
}),
|
|
56
|
+
]).start();
|
|
57
|
+
}, [imageLoaded, isPressed, containerDimensions, zoomScale, translateX, translateY]);
|
|
58
|
+
// Handle press in - zoom in
|
|
59
|
+
const handlePressIn = useCallback((event) => {
|
|
60
|
+
if (!imageLoaded)
|
|
61
|
+
return;
|
|
62
|
+
setIsPressed(true);
|
|
63
|
+
const { locationX, locationY } = event.nativeEvent;
|
|
64
|
+
// Calculate initial position for zoom origin
|
|
65
|
+
const xPercent = containerDimensions.width > 0 ? locationX / containerDimensions.width : 0.5;
|
|
66
|
+
const yPercent = containerDimensions.height > 0 ? locationY / containerDimensions.height : 0.5;
|
|
67
|
+
const clampedX = Math.max(0, Math.min(1, xPercent));
|
|
68
|
+
const clampedY = Math.max(0, Math.min(1, yPercent));
|
|
69
|
+
const maxTranslateX = (containerDimensions.width * (zoomScale - 1)) / 2;
|
|
70
|
+
const maxTranslateY = (containerDimensions.height * (zoomScale - 1)) / 2;
|
|
71
|
+
const targetTranslateX = maxTranslateX - maxTranslateX * 2 * clampedX;
|
|
72
|
+
const targetTranslateY = maxTranslateY - maxTranslateY * 2 * clampedY;
|
|
73
|
+
Animated.parallel([
|
|
74
|
+
Animated.spring(scale, {
|
|
75
|
+
toValue: zoomScale,
|
|
76
|
+
useNativeDriver: true,
|
|
77
|
+
damping: 20,
|
|
78
|
+
stiffness: 150,
|
|
79
|
+
mass: 0.5,
|
|
80
|
+
}),
|
|
81
|
+
Animated.spring(translateX, {
|
|
82
|
+
toValue: targetTranslateX,
|
|
83
|
+
useNativeDriver: true,
|
|
84
|
+
damping: 20,
|
|
85
|
+
stiffness: 150,
|
|
86
|
+
mass: 0.5,
|
|
87
|
+
}),
|
|
88
|
+
Animated.spring(translateY, {
|
|
89
|
+
toValue: targetTranslateY,
|
|
90
|
+
useNativeDriver: true,
|
|
91
|
+
damping: 20,
|
|
92
|
+
stiffness: 150,
|
|
93
|
+
mass: 0.5,
|
|
94
|
+
}),
|
|
95
|
+
]).start();
|
|
96
|
+
}, [imageLoaded, containerDimensions, scale, zoomScale, translateX, translateY]);
|
|
97
|
+
// Handle press out - zoom out and reset position
|
|
98
|
+
const handlePressOut = useCallback(() => {
|
|
99
|
+
setIsPressed(false);
|
|
100
|
+
Animated.parallel([
|
|
101
|
+
Animated.spring(scale, {
|
|
102
|
+
toValue: 1,
|
|
103
|
+
useNativeDriver: true,
|
|
104
|
+
damping: 20,
|
|
105
|
+
stiffness: 150,
|
|
106
|
+
mass: 0.5,
|
|
107
|
+
}),
|
|
108
|
+
Animated.spring(translateX, {
|
|
109
|
+
toValue: 0,
|
|
110
|
+
useNativeDriver: true,
|
|
111
|
+
damping: 20,
|
|
112
|
+
stiffness: 150,
|
|
113
|
+
mass: 0.5,
|
|
114
|
+
}),
|
|
115
|
+
Animated.spring(translateY, {
|
|
116
|
+
toValue: 0,
|
|
117
|
+
useNativeDriver: true,
|
|
118
|
+
damping: 20,
|
|
119
|
+
stiffness: 150,
|
|
120
|
+
mass: 0.5,
|
|
121
|
+
}),
|
|
122
|
+
]).start();
|
|
123
|
+
}, [scale, translateX, translateY]);
|
|
124
|
+
const handleImageLoad = useCallback((event) => {
|
|
125
|
+
setImageLoaded(true);
|
|
126
|
+
onLoad?.(event);
|
|
127
|
+
}, [onLoad]);
|
|
128
|
+
return (_jsx(View, { style: [
|
|
129
|
+
{
|
|
130
|
+
position: 'relative',
|
|
131
|
+
width: typeof width === 'number' ? width : undefined,
|
|
132
|
+
height: typeof height === 'number' ? height : undefined,
|
|
133
|
+
overflow: 'hidden',
|
|
134
|
+
borderRadius,
|
|
135
|
+
},
|
|
136
|
+
containerStyle,
|
|
137
|
+
], onLayout: handleLayout, children: _jsx(Pressable, { style: {
|
|
138
|
+
width: '100%',
|
|
139
|
+
height: '100%',
|
|
140
|
+
}, onPressIn: handlePressIn, onPressOut: handlePressOut, onTouchMove: handleTouchMove, disabled: !imageLoaded, children: _jsx(Animated.View, { style: [
|
|
141
|
+
{
|
|
142
|
+
width: '100%',
|
|
143
|
+
height: '100%',
|
|
144
|
+
transform: [{ translateX }, { translateY }, { scale }],
|
|
145
|
+
},
|
|
146
|
+
], children: _jsx(SLazyImage, { src: src, variant: skeletonVariant, height: height, width: width, containerStyle: imageStyle, onLoad: handleImageLoad, onError: onError }) }) }) }));
|
|
147
|
+
};
|
|
148
|
+
SZoomImage.displayName = 'SZoomImage';
|
|
149
|
+
export default SZoomImage;
|
|
@@ -61,6 +61,16 @@ export interface NativeTheme {
|
|
|
61
61
|
normal: number;
|
|
62
62
|
relaxed: number;
|
|
63
63
|
};
|
|
64
|
+
input: {
|
|
65
|
+
fontSize: {
|
|
66
|
+
small: number;
|
|
67
|
+
medium: number;
|
|
68
|
+
};
|
|
69
|
+
height: {
|
|
70
|
+
small: number;
|
|
71
|
+
medium: number;
|
|
72
|
+
};
|
|
73
|
+
};
|
|
64
74
|
scale: {
|
|
65
75
|
h1: {
|
|
66
76
|
fontSize: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theme-primitives.d.ts","sourceRoot":"","sources":["../../src/theme/theme-primitives.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"theme-primitives.d.ts","sourceRoot":"","sources":["../../src/theme/theme-primitives.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,17 @@ const typography = {
|
|
|
26
26
|
normal: 1.5,
|
|
27
27
|
relaxed: 1.75,
|
|
28
28
|
},
|
|
29
|
+
// Centralized input styling — matches web sizes: small = 36px (2.25rem), medium = 40px (2.5rem)
|
|
30
|
+
input: {
|
|
31
|
+
fontSize: {
|
|
32
|
+
small: 12, // theme.typography.fontSize.sm
|
|
33
|
+
medium: 14, // theme.typography.fontSize.md
|
|
34
|
+
},
|
|
35
|
+
height: {
|
|
36
|
+
small: 36,
|
|
37
|
+
medium: 40,
|
|
38
|
+
},
|
|
39
|
+
},
|
|
29
40
|
// Web-compatible typography scale (matches MUI theme)
|
|
30
41
|
scale: {
|
|
31
42
|
h1: {
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert bytes to human-readable size format
|
|
3
|
+
*
|
|
4
|
+
* @param bytes - Number of bytes to convert
|
|
5
|
+
* @param decimals - Number of decimal places (default: 2)
|
|
6
|
+
* @returns Formatted string with size and unit (e.g., "1.5 MB")
|
|
7
|
+
*/
|
|
8
|
+
export declare function bytesToSize(bytes: number, decimals?: number): string;
|
|
9
|
+
//# sourceMappingURL=bytes-to-size.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bytes-to-size.d.ts","sourceRoot":"","sources":["../../src/utils/bytes-to-size.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,SAAI,GAAG,MAAM,CAW/D"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Convert bytes to human-readable size format
|
|
3
|
+
*
|
|
4
|
+
* @param bytes - Number of bytes to convert
|
|
5
|
+
* @param decimals - Number of decimal places (default: 2)
|
|
6
|
+
* @returns Formatted string with size and unit (e.g., "1.5 MB")
|
|
7
|
+
*/
|
|
8
|
+
export function bytesToSize(bytes, decimals = 2) {
|
|
9
|
+
if (bytes === 0) {
|
|
10
|
+
return '0 Bytes';
|
|
11
|
+
}
|
|
12
|
+
const k = 1024;
|
|
13
|
+
const dm = decimals < 0 ? 0 : decimals;
|
|
14
|
+
const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
|
|
15
|
+
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
16
|
+
return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`;
|
|
17
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { bytesToSize } from './bytes-to-size';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@solostylist/ui-kit-native",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "React Native UI components for SoloStylist - synced with web ui-kit",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -25,6 +25,11 @@
|
|
|
25
25
|
"import": "./dist/theme/index.js",
|
|
26
26
|
"default": "./dist/theme/index.js"
|
|
27
27
|
},
|
|
28
|
+
"./s-button": {
|
|
29
|
+
"types": "./dist/s-button/index.d.ts",
|
|
30
|
+
"import": "./dist/s-button/index.js",
|
|
31
|
+
"default": "./dist/s-button/index.js"
|
|
32
|
+
},
|
|
28
33
|
"./s-text-field": {
|
|
29
34
|
"types": "./dist/s-text-field/index.d.ts",
|
|
30
35
|
"import": "./dist/s-text-field/index.js",
|
|
@@ -34,14 +39,155 @@
|
|
|
34
39
|
"types": "./dist/s-form/index.d.ts",
|
|
35
40
|
"import": "./dist/s-form/index.js",
|
|
36
41
|
"default": "./dist/s-form/index.js"
|
|
42
|
+
},
|
|
43
|
+
"./s-select": {
|
|
44
|
+
"types": "./dist/s-select/index.d.ts",
|
|
45
|
+
"import": "./dist/s-select/index.js",
|
|
46
|
+
"default": "./dist/s-select/index.js"
|
|
47
|
+
},
|
|
48
|
+
"./s-icon-button": {
|
|
49
|
+
"types": "./dist/s-icon-button/index.d.ts",
|
|
50
|
+
"import": "./dist/s-icon-button/index.js",
|
|
51
|
+
"default": "./dist/s-icon-button/index.js"
|
|
52
|
+
},
|
|
53
|
+
"./s-label": {
|
|
54
|
+
"types": "./dist/s-label/index.d.ts",
|
|
55
|
+
"import": "./dist/s-label/index.js",
|
|
56
|
+
"default": "./dist/s-label/index.js"
|
|
57
|
+
},
|
|
58
|
+
"./s-text": {
|
|
59
|
+
"types": "./dist/s-text/index.d.ts",
|
|
60
|
+
"import": "./dist/s-text/index.js",
|
|
61
|
+
"default": "./dist/s-text/index.js"
|
|
62
|
+
},
|
|
63
|
+
"./s-rating": {
|
|
64
|
+
"types": "./dist/s-rating/index.d.ts",
|
|
65
|
+
"import": "./dist/s-rating/index.js",
|
|
66
|
+
"default": "./dist/s-rating/index.js"
|
|
67
|
+
},
|
|
68
|
+
"./s-date-picker": {
|
|
69
|
+
"types": "./dist/s-date-picker/index.d.ts",
|
|
70
|
+
"import": "./dist/s-date-picker/index.js",
|
|
71
|
+
"default": "./dist/s-date-picker/index.js"
|
|
72
|
+
},
|
|
73
|
+
"./s-date-time-picker": {
|
|
74
|
+
"types": "./dist/s-date-time-picker/index.d.ts",
|
|
75
|
+
"import": "./dist/s-date-time-picker/index.js",
|
|
76
|
+
"default": "./dist/s-date-time-picker/index.js"
|
|
77
|
+
},
|
|
78
|
+
"./s-file-icon": {
|
|
79
|
+
"types": "./dist/s-file-icon/index.d.ts",
|
|
80
|
+
"import": "./dist/s-file-icon/index.js",
|
|
81
|
+
"default": "./dist/s-file-icon/index.js"
|
|
82
|
+
},
|
|
83
|
+
"./s-file-dropzone": {
|
|
84
|
+
"types": "./dist/s-file-dropzone/index.d.ts",
|
|
85
|
+
"import": "./dist/s-file-dropzone/index.js",
|
|
86
|
+
"default": "./dist/s-file-dropzone/index.js"
|
|
87
|
+
},
|
|
88
|
+
"./s-avatar": {
|
|
89
|
+
"types": "./dist/s-avatar/index.d.ts",
|
|
90
|
+
"import": "./dist/s-avatar/index.js",
|
|
91
|
+
"default": "./dist/s-avatar/index.js"
|
|
92
|
+
},
|
|
93
|
+
"./s-chat-input": {
|
|
94
|
+
"types": "./dist/s-chat-input/index.d.ts",
|
|
95
|
+
"import": "./dist/s-chat-input/index.js",
|
|
96
|
+
"default": "./dist/s-chat-input/index.js"
|
|
97
|
+
},
|
|
98
|
+
"./s-chat-message": {
|
|
99
|
+
"types": "./dist/s-chat-message/index.d.ts",
|
|
100
|
+
"import": "./dist/s-chat-message/index.js",
|
|
101
|
+
"default": "./dist/s-chat-message/index.js"
|
|
102
|
+
},
|
|
103
|
+
"./s-checkbox": {
|
|
104
|
+
"types": "./dist/s-checkbox/index.d.ts",
|
|
105
|
+
"import": "./dist/s-checkbox/index.js",
|
|
106
|
+
"default": "./dist/s-checkbox/index.js"
|
|
107
|
+
},
|
|
108
|
+
"./s-chip": {
|
|
109
|
+
"types": "./dist/s-chip/index.d.ts",
|
|
110
|
+
"import": "./dist/s-chip/index.js",
|
|
111
|
+
"default": "./dist/s-chip/index.js"
|
|
112
|
+
},
|
|
113
|
+
"./s-code-block": {
|
|
114
|
+
"types": "./dist/s-code-block/index.d.ts",
|
|
115
|
+
"import": "./dist/s-code-block/index.js",
|
|
116
|
+
"default": "./dist/s-code-block/index.js"
|
|
117
|
+
},
|
|
118
|
+
"./s-comment-message": {
|
|
119
|
+
"types": "./dist/s-comment-message/index.d.ts",
|
|
120
|
+
"import": "./dist/s-comment-message/index.js",
|
|
121
|
+
"default": "./dist/s-comment-message/index.js"
|
|
122
|
+
},
|
|
123
|
+
"./s-copyable-text": {
|
|
124
|
+
"types": "./dist/s-copyable-text/index.d.ts",
|
|
125
|
+
"import": "./dist/s-copyable-text/index.js",
|
|
126
|
+
"default": "./dist/s-copyable-text/index.js"
|
|
127
|
+
},
|
|
128
|
+
"./s-countdown": {
|
|
129
|
+
"types": "./dist/s-countdown/index.d.ts",
|
|
130
|
+
"import": "./dist/s-countdown/index.js",
|
|
131
|
+
"default": "./dist/s-countdown/index.js"
|
|
132
|
+
},
|
|
133
|
+
"./s-data-table": {
|
|
134
|
+
"types": "./dist/s-data-table/index.d.ts",
|
|
135
|
+
"import": "./dist/s-data-table/index.js",
|
|
136
|
+
"default": "./dist/s-data-table/index.js"
|
|
137
|
+
},
|
|
138
|
+
"./s-image-comparison": {
|
|
139
|
+
"types": "./dist/s-image-comparison/index.d.ts",
|
|
140
|
+
"import": "./dist/s-image-comparison/index.js",
|
|
141
|
+
"default": "./dist/s-image-comparison/index.js"
|
|
142
|
+
},
|
|
143
|
+
"./s-language-switcher": {
|
|
144
|
+
"types": "./dist/s-language-switcher/index.d.ts",
|
|
145
|
+
"import": "./dist/s-language-switcher/index.js",
|
|
146
|
+
"default": "./dist/s-language-switcher/index.js"
|
|
147
|
+
},
|
|
148
|
+
"./s-lazy-image": {
|
|
149
|
+
"types": "./dist/s-lazy-image/index.d.ts",
|
|
150
|
+
"import": "./dist/s-lazy-image/index.js",
|
|
151
|
+
"default": "./dist/s-lazy-image/index.js"
|
|
152
|
+
},
|
|
153
|
+
"./s-moving-border": {
|
|
154
|
+
"types": "./dist/s-moving-border/index.d.ts",
|
|
155
|
+
"import": "./dist/s-moving-border/index.js",
|
|
156
|
+
"default": "./dist/s-moving-border/index.js"
|
|
157
|
+
},
|
|
158
|
+
"./s-pagination": {
|
|
159
|
+
"types": "./dist/s-pagination/index.d.ts",
|
|
160
|
+
"import": "./dist/s-pagination/index.js",
|
|
161
|
+
"default": "./dist/s-pagination/index.js"
|
|
162
|
+
},
|
|
163
|
+
"./s-text-shimmer": {
|
|
164
|
+
"types": "./dist/s-text-shimmer/index.d.ts",
|
|
165
|
+
"import": "./dist/s-text-shimmer/index.js",
|
|
166
|
+
"default": "./dist/s-text-shimmer/index.js"
|
|
167
|
+
},
|
|
168
|
+
"./s-text-truncation": {
|
|
169
|
+
"types": "./dist/s-text-truncation/index.d.ts",
|
|
170
|
+
"import": "./dist/s-text-truncation/index.js",
|
|
171
|
+
"default": "./dist/s-text-truncation/index.js"
|
|
172
|
+
},
|
|
173
|
+
"./s-tip": {
|
|
174
|
+
"types": "./dist/s-tip/index.d.ts",
|
|
175
|
+
"import": "./dist/s-tip/index.js",
|
|
176
|
+
"default": "./dist/s-tip/index.js"
|
|
177
|
+
},
|
|
178
|
+
"./hooks": {
|
|
179
|
+
"types": "./dist/hooks/index.d.ts",
|
|
180
|
+
"import": "./dist/hooks/index.js",
|
|
181
|
+
"default": "./dist/hooks/index.js"
|
|
37
182
|
}
|
|
38
183
|
},
|
|
39
184
|
"scripts": {
|
|
40
185
|
"build": "tsc --p ./tsconfig.json",
|
|
41
186
|
"dev": "tsc --p ./tsconfig.json --watch",
|
|
42
|
-
"
|
|
43
|
-
"lint": "
|
|
44
|
-
"
|
|
187
|
+
"lint": "eslint . --report-unused-disable-directives --max-warnings 0",
|
|
188
|
+
"lint:fix": "eslint . --fix --report-unused-disable-directives --max-warnings 0",
|
|
189
|
+
"format": "prettier --write \"**/*.{js,jsx,mjs,ts,tsx,json,md}\" --cache",
|
|
190
|
+
"format:check": "prettier --check \"**/*.{js,jsx,mjs,ts,tsx,json,md}\" --cache",
|
|
45
191
|
"typecheck": "tsc --noEmit",
|
|
46
192
|
"clean": "rimraf dist",
|
|
47
193
|
"app:publish": "yarn build && yarn npm publish --access public"
|
|
@@ -60,21 +206,45 @@
|
|
|
60
206
|
"license": "ISC",
|
|
61
207
|
"dependencies": {
|
|
62
208
|
"@solostylist/core": "^1.0.0",
|
|
63
|
-
"color": "^5.0.3"
|
|
209
|
+
"color": "^5.0.3",
|
|
210
|
+
"expo-clipboard": "^8.0.8",
|
|
211
|
+
"expo-document-picker": "^14.0.8",
|
|
212
|
+
"react-native-code-highlighter": "^1.3.0",
|
|
213
|
+
"react-native-country-flag": "^2.0.2",
|
|
214
|
+
"rn-emoji-keyboard": "^1.7.0"
|
|
64
215
|
},
|
|
65
216
|
"peerDependencies": {
|
|
217
|
+
"@expo/vector-icons": ">=15.0.3",
|
|
66
218
|
"react": ">=18.0.0",
|
|
67
219
|
"react-native": ">=0.70.0",
|
|
220
|
+
"react-native-gesture-handler": ">=2.30.0",
|
|
68
221
|
"react-native-paper": ">=5.0.0"
|
|
69
222
|
},
|
|
70
223
|
"devDependencies": {
|
|
224
|
+
"@eslint/js": "^9.39.2",
|
|
71
225
|
"@expo/vector-icons": "^15.0.3",
|
|
226
|
+
"@ianvs/prettier-plugin-sort-imports": "^4.7.0",
|
|
72
227
|
"@types/react": "~19.2.9",
|
|
228
|
+
"@typescript-eslint/eslint-plugin": "^8.53.1",
|
|
229
|
+
"@typescript-eslint/parser": "^8.53.1",
|
|
230
|
+
"eslint": "^9.39.2",
|
|
231
|
+
"eslint-plugin-react-hooks": "^7.0.1",
|
|
232
|
+
"globals": "^17.2.0",
|
|
233
|
+
"lint-staged": "^16.2.7",
|
|
234
|
+
"prettier": "^3.8.1",
|
|
73
235
|
"react": "19.2.3",
|
|
74
236
|
"react-native": "0.83.1",
|
|
75
237
|
"react-native-paper": "^5.14.5",
|
|
76
238
|
"react-native-safe-area-context": "5.6.2",
|
|
77
239
|
"rimraf": "^6.1.2",
|
|
78
240
|
"typescript": "^5.9.3"
|
|
241
|
+
},
|
|
242
|
+
"lint-staged": {
|
|
243
|
+
"*.{js,jsx,ts,tsx}": [
|
|
244
|
+
"prettier --write --cache"
|
|
245
|
+
],
|
|
246
|
+
"*.{json,md}": [
|
|
247
|
+
"prettier --write --cache"
|
|
248
|
+
]
|
|
79
249
|
}
|
|
80
250
|
}
|