@solostylist/ui-kit-native 1.0.1 → 1.0.3
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/use-count-down.d.ts +0 -2
- package/dist/hooks/use-count-down.d.ts.map +1 -1
- package/dist/hooks/use-count-down.js +0 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/s-avatar/s-avatar.d.ts +4 -8
- package/dist/s-avatar/s-avatar.d.ts.map +1 -1
- package/dist/s-avatar/s-avatar.js +49 -42
- package/dist/s-button/s-button.d.ts +0 -2
- package/dist/s-button/s-button.d.ts.map +1 -1
- package/dist/s-button/s-button.js +27 -24
- package/dist/s-button-link/s-button-link.d.ts +0 -2
- package/dist/s-button-link/s-button-link.d.ts.map +1 -1
- package/dist/s-button-link/s-button-link.js +21 -26
- package/dist/s-chat-input/index.d.ts +1 -1
- package/dist/s-chat-input/index.d.ts.map +1 -1
- package/dist/s-chat-input/s-chat-input.d.ts +19 -8
- package/dist/s-chat-input/s-chat-input.d.ts.map +1 -1
- package/dist/s-chat-input/s-chat-input.js +115 -46
- package/dist/s-chat-message/s-chat-message.d.ts +5 -7
- package/dist/s-chat-message/s-chat-message.d.ts.map +1 -1
- package/dist/s-chat-message/s-chat-message.js +100 -175
- package/dist/s-checkbox/s-checkbox.d.ts +0 -2
- package/dist/s-checkbox/s-checkbox.d.ts.map +1 -1
- package/dist/s-checkbox/s-checkbox.js +11 -18
- package/dist/s-chip/s-chip.d.ts +0 -2
- package/dist/s-chip/s-chip.d.ts.map +1 -1
- package/dist/s-chip/s-chip.js +35 -54
- package/dist/s-code-block/s-code-block.d.ts +0 -2
- package/dist/s-code-block/s-code-block.d.ts.map +1 -1
- package/dist/s-code-block/s-code-block.js +28 -40
- package/dist/s-comment-message/s-comment-message.d.ts +3 -5
- package/dist/s-comment-message/s-comment-message.d.ts.map +1 -1
- package/dist/s-comment-message/s-comment-message.js +54 -167
- package/dist/s-copyable-text/s-copyable-text.d.ts +0 -2
- package/dist/s-copyable-text/s-copyable-text.d.ts.map +1 -1
- package/dist/s-copyable-text/s-copyable-text.js +20 -45
- package/dist/s-countdown/index.d.ts +0 -1
- package/dist/s-countdown/index.d.ts.map +1 -1
- package/dist/s-countdown/index.js +0 -1
- package/dist/s-countdown/s-count-box.d.ts +5 -3
- package/dist/s-countdown/s-count-box.d.ts.map +1 -1
- package/dist/s-countdown/s-count-box.js +69 -60
- package/dist/s-countdown/s-countdown.d.ts +6 -3
- package/dist/s-countdown/s-countdown.d.ts.map +1 -1
- package/dist/s-countdown/s-countdown.js +11 -10
- package/dist/s-data-table/s-data-table.d.ts +0 -3
- package/dist/s-data-table/s-data-table.d.ts.map +1 -1
- package/dist/s-data-table/s-data-table.js +27 -50
- package/dist/s-date-picker/s-date-picker.d.ts +0 -2
- package/dist/s-date-picker/s-date-picker.d.ts.map +1 -1
- package/dist/s-date-picker/s-date-picker.js +51 -110
- package/dist/s-date-time-picker/s-date-time-picker.d.ts +0 -2
- package/dist/s-date-time-picker/s-date-time-picker.d.ts.map +1 -1
- package/dist/s-date-time-picker/s-date-time-picker.js +111 -203
- 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/s-file-dropzone.d.ts +0 -35
- package/dist/s-file-dropzone/s-file-dropzone.d.ts.map +1 -1
- package/dist/s-file-dropzone/s-file-dropzone.js +46 -120
- package/dist/s-file-icon/s-file-icon.d.ts +0 -2
- package/dist/s-file-icon/s-file-icon.d.ts.map +1 -1
- package/dist/s-file-icon/s-file-icon.js +11 -12
- 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/s-image-comparison.d.ts +3 -5
- package/dist/s-image-comparison/s-image-comparison.d.ts.map +1 -1
- package/dist/s-image-comparison/s-image-comparison.js +75 -102
- package/dist/s-label/s-label.d.ts +0 -1
- package/dist/s-label/s-label.d.ts.map +1 -1
- package/dist/s-label/s-label.js +8 -24
- package/dist/s-language-switcher/s-language-switcher.d.ts +2 -5
- package/dist/s-language-switcher/s-language-switcher.d.ts.map +1 -1
- package/dist/s-language-switcher/s-language-switcher.js +14 -25
- package/dist/s-lazy-image/s-lazy-image.d.ts +4 -6
- package/dist/s-lazy-image/s-lazy-image.d.ts.map +1 -1
- package/dist/s-lazy-image/s-lazy-image.js +37 -34
- package/dist/s-moving-border/s-moving-border.d.ts +0 -2
- package/dist/s-moving-border/s-moving-border.d.ts.map +1 -1
- package/dist/s-moving-border/s-moving-border.js +19 -24
- package/dist/s-multi-select/s-multi-select.d.ts +0 -2
- package/dist/s-multi-select/s-multi-select.d.ts.map +1 -1
- package/dist/s-multi-select/s-multi-select.js +54 -105
- package/dist/s-pagination/s-pagination.d.ts +12 -6
- package/dist/s-pagination/s-pagination.d.ts.map +1 -1
- package/dist/s-pagination/s-pagination.js +69 -43
- package/dist/s-rating/s-rating.d.ts +0 -2
- package/dist/s-rating/s-rating.d.ts.map +1 -1
- package/dist/s-rating/s-rating.js +31 -29
- package/dist/s-review/s-review.d.ts +6 -8
- package/dist/s-review/s-review.d.ts.map +1 -1
- package/dist/s-review/s-review.js +66 -153
- package/dist/s-scroll-to-top/s-scroll-to-top.d.ts +0 -2
- package/dist/s-scroll-to-top/s-scroll-to-top.d.ts.map +1 -1
- package/dist/s-scroll-to-top/s-scroll-to-top.js +17 -32
- package/dist/s-select/s-select.d.ts +5 -5
- package/dist/s-select/s-select.d.ts.map +1 -1
- package/dist/s-select/s-select.js +54 -94
- package/dist/s-select-list/s-select-list.d.ts +0 -2
- package/dist/s-select-list/s-select-list.d.ts.map +1 -1
- package/dist/s-select-list/s-select-list.js +24 -38
- 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/s-text-shimmer.d.ts +0 -14
- package/dist/s-text-shimmer/s-text-shimmer.d.ts.map +1 -1
- package/dist/s-text-shimmer/s-text-shimmer.js +28 -46
- package/dist/s-text-truncation/s-text-truncation.d.ts +4 -7
- package/dist/s-text-truncation/s-text-truncation.d.ts.map +1 -1
- package/dist/s-text-truncation/s-text-truncation.js +74 -34
- package/dist/s-tip/s-tip.d.ts +0 -1
- package/dist/s-tip/s-tip.d.ts.map +1 -1
- package/dist/s-tip/s-tip.js +9 -16
- 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/s-zoom-image.d.ts +3 -5
- package/dist/s-zoom-image/s-zoom-image.d.ts.map +1 -1
- package/dist/s-zoom-image/s-zoom-image.js +16 -21
- 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 +0 -1
- package/dist/utils/bytes-to-size.d.ts.map +1 -1
- package/dist/utils/bytes-to-size.js +0 -1
- package/package.json +3 -2
|
@@ -1,48 +1,88 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
3
|
+
import { View } from 'react-native';
|
|
4
|
+
import { SText } from '../s-text';
|
|
5
|
+
import { STooltip } from '../s-tooltip';
|
|
6
6
|
/**
|
|
7
7
|
* A text truncation component with expandable See more/less functionality.
|
|
8
|
-
*
|
|
9
|
-
*
|
|
8
|
+
* Uses JS-based binary search truncation so "See more/less" appears inline
|
|
9
|
+
* at the end of the last line, matching the web ui-kit behavior.
|
|
10
10
|
*/
|
|
11
|
-
export const STextTruncation = ({ text, variant = 'expandable', lines = 3, seeMoreText = 'See more', seeLessText = 'See less',
|
|
12
|
-
const { theme } = useSTheme();
|
|
11
|
+
export const STextTruncation = ({ text = '', variant = 'expandable', lines = 3, seeMoreText = 'See more', seeLessText = 'See less', style, textStyle, linkStyle, onExpandChange, }) => {
|
|
13
12
|
const [isExpanded, setIsExpanded] = useState(false);
|
|
13
|
+
const [isTruncated, setIsTruncated] = useState(false);
|
|
14
|
+
const [displayText, setDisplayText] = useState(text);
|
|
15
|
+
const measureRef = useRef(null);
|
|
16
|
+
const containerRef = useRef(null);
|
|
14
17
|
const toggleExpansion = () => {
|
|
15
18
|
const newState = !isExpanded;
|
|
16
19
|
setIsExpanded(newState);
|
|
17
20
|
onExpandChange?.(newState);
|
|
18
21
|
};
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
22
|
+
/**
|
|
23
|
+
* Measures text and computes the truncation point using binary search.
|
|
24
|
+
* Uses a hidden element with the same width/font to accurately measure line breaks.
|
|
25
|
+
* Mirrors the web ui-kit approach for consistent behavior.
|
|
26
|
+
*/
|
|
27
|
+
const computeTruncation = useCallback(() => {
|
|
28
|
+
// Access the underlying DOM node (works on Expo Web / React Native Web)
|
|
29
|
+
const el = measureRef.current;
|
|
30
|
+
if (!el || !text) {
|
|
31
|
+
setIsTruncated(false);
|
|
32
|
+
setDisplayText(text);
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
// Measure line height using a single character
|
|
36
|
+
el.textContent = 'A';
|
|
37
|
+
const lineHeight = el.scrollHeight || 0;
|
|
38
|
+
if (lineHeight === 0)
|
|
39
|
+
return;
|
|
40
|
+
const maxHeight = lineHeight * lines;
|
|
41
|
+
// Check if full text fits within the allowed lines
|
|
42
|
+
el.textContent = text;
|
|
43
|
+
if ((el.scrollHeight || 0) <= maxHeight + 1) {
|
|
44
|
+
setIsTruncated(false);
|
|
45
|
+
setDisplayText(text);
|
|
46
|
+
el.textContent = '';
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
setIsTruncated(true);
|
|
50
|
+
// Binary search for the max characters that fit with "… See more" appended
|
|
51
|
+
const suffix = `… ${seeMoreText}`;
|
|
52
|
+
let low = 0;
|
|
53
|
+
let high = text.length;
|
|
54
|
+
while (low < high) {
|
|
55
|
+
const mid = Math.ceil((low + high) / 2);
|
|
56
|
+
el.textContent = text.slice(0, mid) + suffix;
|
|
57
|
+
if ((el.scrollHeight || 0) > maxHeight + 1) {
|
|
58
|
+
high = mid - 1;
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
low = mid;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
// Clear measurer content to prevent hidden text from leaking into the UI
|
|
65
|
+
el.textContent = '';
|
|
66
|
+
setDisplayText(text.slice(0, low).trimEnd());
|
|
67
|
+
}, [text, lines, seeMoreText]);
|
|
68
|
+
useEffect(() => {
|
|
69
|
+
// Delay measurement to ensure fonts are loaded and layout is complete
|
|
70
|
+
const timer = setTimeout(computeTruncation, 150);
|
|
71
|
+
return () => clearTimeout(timer);
|
|
72
|
+
}, [computeTruncation]);
|
|
73
|
+
// Tooltip variant: Show truncated text with ellipsis tooltip
|
|
41
74
|
if (variant === 'tooltip') {
|
|
42
|
-
return (_jsx(View, { style: [
|
|
75
|
+
return (_jsx(STooltip, { title: text, children: _jsx(View, { style: [{ flexDirection: 'column' }, style], children: _jsx(SText, { style: textStyle, numberOfLines: lines, ellipsizeMode: "tail", children: text }) }) }));
|
|
43
76
|
}
|
|
44
|
-
// Expandable variant:
|
|
45
|
-
return (_jsxs(View, {
|
|
77
|
+
// Expandable variant: JS-based truncation with inline "See more/less"
|
|
78
|
+
return (_jsxs(View, { ref: containerRef, style: [{ position: 'relative' }, style], children: [_jsx(View, { ref: measureRef, "aria-hidden": true, style: {
|
|
79
|
+
position: 'absolute',
|
|
80
|
+
top: 0,
|
|
81
|
+
left: 0,
|
|
82
|
+
right: 0,
|
|
83
|
+
opacity: 0,
|
|
84
|
+
pointerEvents: 'none',
|
|
85
|
+
} }), _jsxs(SText, { style: textStyle, children: [isExpanded ? text : displayText, isTruncated && (_jsxs(_Fragment, { children: [isExpanded ? ' ' : '… ', _jsx(SText, { style: [linkStyle], color: "primary", onPress: toggleExpansion, children: isExpanded ? seeLessText : seeMoreText })] }))] })] }));
|
|
46
86
|
};
|
|
47
87
|
STextTruncation.displayName = 'STextTruncation';
|
|
48
88
|
export default STextTruncation;
|
package/dist/s-tip/s-tip.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s-tip.d.ts","sourceRoot":"","sources":["../../src/s-tip/s-tip.tsx"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"s-tip.d.ts","sourceRoot":"","sources":["../../src/s-tip/s-tip.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,iCAAiC;IACjC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,eAAO,MAAM,IAAI;kBAAiB,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO;;CAoC9D,CAAC;AAIF,eAAe,IAAI,CAAC"}
|
package/dist/s-tip/s-tip.js
CHANGED
|
@@ -1,32 +1,25 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { MaterialCommunityIcons } from '@expo/vector-icons';
|
|
3
|
-
import {
|
|
4
|
-
import { StyleSheet, View } from 'react-native';
|
|
3
|
+
import { View } from 'react-native';
|
|
5
4
|
import { SText } from '../s-text';
|
|
6
5
|
import { useSTheme } from '../theme';
|
|
7
6
|
/**
|
|
8
7
|
* A simple tip component that displays helpful information with a lightbulb icon.
|
|
9
|
-
* Synced with web STip from @solostylist/ui-kit.
|
|
10
8
|
*/
|
|
11
9
|
export const STip = ({ message }) => {
|
|
12
10
|
const { theme } = useSTheme();
|
|
13
|
-
|
|
14
|
-
container: {
|
|
11
|
+
return (_jsxs(View, { style: {
|
|
15
12
|
flexDirection: 'row',
|
|
16
13
|
alignItems: 'center',
|
|
17
14
|
backgroundColor: theme.colors.background.default,
|
|
18
|
-
borderRadius: theme.borderRadius.
|
|
15
|
+
borderRadius: theme.borderRadius.md, // 8px (matches web borderRadius: 1 which is 8px in MUI theme spacing, but web uses 1 = 4px here)
|
|
19
16
|
padding: theme.spacing.sm, // 8px (matches web p: 1 which is 8px)
|
|
20
|
-
},
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
flex: 1,
|
|
27
|
-
},
|
|
28
|
-
}), [theme]);
|
|
29
|
-
return (_jsxs(View, { style: styles.container, children: [_jsx(MaterialCommunityIcons, { name: "lightbulb-outline", size: 16, color: theme.colors.text.secondary, style: styles.icon }), _jsx(View, { style: styles.textContainer, children: _jsxs(SText, { variant: "body2", color: "text.secondary", children: [_jsx(SText, { variant: "body2", fontWeight: "700", color: "text.secondary", children: "Tip." }), ' ', message] }) })] }));
|
|
17
|
+
}, children: [_jsx(MaterialCommunityIcons, { name: "lightbulb-outline", size: 16, color: theme.colors.text.secondary, style: {
|
|
18
|
+
color: theme.colors.text.secondary,
|
|
19
|
+
marginRight: theme.spacing.sm, // 8px (matches web spacing: 1 which is 8px)
|
|
20
|
+
} }), _jsx(View, { style: {
|
|
21
|
+
flex: 1,
|
|
22
|
+
}, children: _jsxs(SText, { variant: "body2", color: "text.secondary", children: [_jsx(SText, { variant: "body2", fontWeight: "700", color: "text.secondary", children: "Tip." }), ' ', message] }) })] }));
|
|
30
23
|
};
|
|
31
24
|
STip.displayName = 'STip';
|
|
32
25
|
export default STip;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/s-tooltip/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { STooltip } from './s-tooltip';
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Props interface for STooltip component
|
|
4
|
+
*/
|
|
5
|
+
export interface STooltipProps {
|
|
6
|
+
/** Tooltip text content */
|
|
7
|
+
title: string;
|
|
8
|
+
/** Delay before showing the tooltip (in ms) */
|
|
9
|
+
enterDelay?: number;
|
|
10
|
+
/** Delay before hiding the tooltip (in ms) */
|
|
11
|
+
leaveDelay?: number;
|
|
12
|
+
/** Children element that triggers the tooltip */
|
|
13
|
+
children: React.ReactElement;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* A tooltip component that displays helpful text on long press.
|
|
17
|
+
*/
|
|
18
|
+
export declare const STooltip: {
|
|
19
|
+
({ title, enterDelay, leaveDelay, children }: STooltipProps): React.JSX.Element;
|
|
20
|
+
displayName: string;
|
|
21
|
+
};
|
|
22
|
+
export default STooltip;
|
|
23
|
+
//# sourceMappingURL=s-tooltip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"s-tooltip.d.ts","sourceRoot":"","sources":["../../src/s-tooltip/s-tooltip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,2BAA2B;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iDAAiD;IACjD,QAAQ,EAAE,KAAK,CAAC,YAAY,CAAC;CAC9B;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ;kDAAyD,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO;;CAkB9G,CAAC;AAIF,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Tooltip } from 'react-native-paper';
|
|
3
|
+
import { useSTheme } from '../theme';
|
|
4
|
+
/**
|
|
5
|
+
* A tooltip component that displays helpful text on long press.
|
|
6
|
+
*/
|
|
7
|
+
export const STooltip = ({ title, enterDelay = 0, leaveDelay = 0, children }) => {
|
|
8
|
+
const { theme } = useSTheme();
|
|
9
|
+
return (_jsx(Tooltip, { title: title, enterTouchDelay: enterDelay, leaveTouchDelay: leaveDelay, theme: {
|
|
10
|
+
colors: {
|
|
11
|
+
surface: theme.colors.text.primary,
|
|
12
|
+
onSurface: theme.colors.background.paper,
|
|
13
|
+
},
|
|
14
|
+
}, children: children }));
|
|
15
|
+
};
|
|
16
|
+
STooltip.displayName = 'STooltip';
|
|
17
|
+
export default STooltip;
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { type StyleProp, type ViewStyle } from 'react-native';
|
|
2
|
+
import { type ImageSourcePropType, type StyleProp, type ViewStyle } from 'react-native';
|
|
3
3
|
import { type SLazyImageVariant } from '../s-lazy-image';
|
|
4
4
|
/**
|
|
5
5
|
* Props interface for SZoomImage component
|
|
6
|
-
* Synced with web SZoomImage from @solostylist/ui-kit
|
|
7
6
|
*/
|
|
8
7
|
export interface SZoomImageProps {
|
|
9
|
-
/** Image source URL */
|
|
10
|
-
src:
|
|
8
|
+
/** Image source URL or local asset */
|
|
9
|
+
src: ImageSourcePropType;
|
|
11
10
|
/** Scale factor to apply on zoom */
|
|
12
11
|
zoomScale?: number;
|
|
13
12
|
/** Border radius in pixels */
|
|
@@ -30,7 +29,6 @@ export interface SZoomImageProps {
|
|
|
30
29
|
/**
|
|
31
30
|
* An interactive image component with smooth zoom-on-press functionality and built-in lazy loading.
|
|
32
31
|
* Built with React Native Animated API for smooth interactions.
|
|
33
|
-
* Synced with web SZoomImage from @solostylist/ui-kit for cross-platform consistency.
|
|
34
32
|
*/
|
|
35
33
|
export declare const SZoomImage: {
|
|
36
34
|
({ src, zoomScale, borderRadius, skeletonVariant, height, width, containerStyle, imageStyle, onLoad, onError, }: SZoomImageProps): React.JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"s-zoom-image.d.ts","sourceRoot":"","sources":["../../src/s-zoom-image/s-zoom-image.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAC9D,OAAO,
|
|
1
|
+
{"version":3,"file":"s-zoom-image.d.ts","sourceRoot":"","sources":["../../src/s-zoom-image/s-zoom-image.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAC9D,OAAO,EAKL,KAAK,mBAAmB,EAExB,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AACtB,OAAO,EAAc,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAErE;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,sCAAsC;IACtC,GAAG,EAAE,mBAAmB,CAAC;IACzB,oCAAoC;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8BAA8B;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qCAAqC;IACrC,eAAe,CAAC,EAAE,iBAAiB,CAAC;IACpC,mBAAmB;IACnB,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,0CAA0C;IAC1C,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,gDAAgD;IAChD,UAAU,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAClC,mDAAmD;IACnD,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;IAC9B,8CAA8C;IAC9C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,CAAC;CAChC;AAED;;;GAGG;AACH,eAAO,MAAM,UAAU;qHAWpB,eAAe,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO;;CAiMrC,CAAC;AAIF,eAAe,UAAU,CAAC"}
|
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useCallback, useMemo, useState } from 'react';
|
|
3
|
-
import { Animated, Pressable,
|
|
3
|
+
import { Animated, Pressable, View, } from 'react-native';
|
|
4
4
|
import { SLazyImage } from '../s-lazy-image';
|
|
5
5
|
/**
|
|
6
6
|
* An interactive image component with smooth zoom-on-press functionality and built-in lazy loading.
|
|
7
7
|
* Built with React Native Animated API for smooth interactions.
|
|
8
|
-
* Synced with web SZoomImage from @solostylist/ui-kit for cross-platform consistency.
|
|
9
8
|
*/
|
|
10
9
|
export const SZoomImage = ({ src, zoomScale = 1.2, borderRadius = 12, skeletonVariant = 'rounded', height = 200, width = '100%', containerStyle, imageStyle, onLoad, onError, }) => {
|
|
11
10
|
// Track whether lazy-loaded image has finished loading
|
|
@@ -126,26 +125,22 @@ export const SZoomImage = ({ src, zoomScale = 1.2, borderRadius = 12, skeletonVa
|
|
|
126
125
|
setImageLoaded(true);
|
|
127
126
|
onLoad?.(event);
|
|
128
127
|
}, [onLoad]);
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
width: '100%',
|
|
143
|
-
height: '100%',
|
|
144
|
-
},
|
|
145
|
-
}), [width, height, borderRadius]);
|
|
146
|
-
return (_jsx(View, { style: [styles.container, containerStyle], onLayout: handleLayout, children: _jsx(Pressable, { style: styles.pressable, onPressIn: handlePressIn, onPressOut: handlePressOut, onTouchMove: handleTouchMove, disabled: !imageLoaded, children: _jsx(Animated.View, { style: [
|
|
147
|
-
styles.imageContainer,
|
|
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: [
|
|
148
141
|
{
|
|
142
|
+
width: '100%',
|
|
143
|
+
height: '100%',
|
|
149
144
|
transform: [{ translateX }, { translateY }, { scale }],
|
|
150
145
|
},
|
|
151
146
|
], children: _jsx(SLazyImage, { src: src, variant: skeletonVariant, height: height, width: width, containerStyle: imageStyle, onLoad: handleImageLoad, onError: onError }) }) }) }));
|
|
@@ -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: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bytes-to-size.d.ts","sourceRoot":"","sources":["../../src/utils/bytes-to-size.ts"],"names":[],"mappings":"AAAA
|
|
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"}
|
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.3",
|
|
4
4
|
"description": "React Native UI components for SoloStylist - synced with web ui-kit",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -210,7 +210,8 @@
|
|
|
210
210
|
"expo-clipboard": "^8.0.8",
|
|
211
211
|
"expo-document-picker": "^14.0.8",
|
|
212
212
|
"react-native-code-highlighter": "^1.3.0",
|
|
213
|
-
"react-native-country-flag": "^2.0.2"
|
|
213
|
+
"react-native-country-flag": "^2.0.2",
|
|
214
|
+
"rn-emoji-keyboard": "^1.7.0"
|
|
214
215
|
},
|
|
215
216
|
"peerDependencies": {
|
|
216
217
|
"@expo/vector-icons": ">=15.0.3",
|