@medway-ui/native 1.8.0 → 1.8.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/README.md +7 -2
- package/lib/commonjs/components/Button.js +1 -1
- package/lib/commonjs/components/Button.js.map +1 -1
- package/lib/commonjs/components/Input.js +128 -29
- package/lib/commonjs/components/Input.js.map +1 -1
- package/lib/commonjs/components/Switch.js +180 -67
- package/lib/commonjs/components/Switch.js.map +1 -1
- package/lib/module/components/Button.js +1 -1
- package/lib/module/components/Button.js.map +1 -1
- package/lib/module/components/Input.js +130 -31
- package/lib/module/components/Input.js.map +1 -1
- package/lib/module/components/Switch.js +185 -70
- package/lib/module/components/Switch.js.map +1 -1
- package/lib/typescript/components/Input.d.ts +5 -1
- package/lib/typescript/components/Input.d.ts.map +1 -1
- package/lib/typescript/components/Switch.d.ts +8 -6
- package/lib/typescript/components/Switch.d.ts.map +1 -1
- package/package.json +1 -4
- package/setup/MedwayUiProvider.tsx +30 -8
- package/src/components/Button.tsx +1 -1
- package/src/components/Input.tsx +147 -26
- package/src/components/Switch.tsx +306 -118
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.Switch =
|
|
7
|
-
exports.switchVariants = void 0;
|
|
6
|
+
exports.switchVariants = exports.Switch = void 0;
|
|
8
7
|
var _react = require("react");
|
|
9
8
|
var _reactNative = require("react-native");
|
|
9
|
+
var _nativewind = require("nativewind");
|
|
10
10
|
var SwitchPrimitive = _interopRequireWildcard(require("@rn-primitives/switch"));
|
|
11
11
|
var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
|
|
12
12
|
var _classVarianceAuthority = require("class-variance-authority");
|
|
@@ -15,16 +15,29 @@ var _touchTarget = require("@/lib/touch-target");
|
|
|
15
15
|
var _useThemeColor = require("@/hooks/useThemeColor");
|
|
16
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
17
17
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
18
|
+
// `@rn-primitives/switch` renders a plain Pressable — cssInterop makes `className` work.
|
|
19
|
+
const StyledSwitchRoot = (0, _nativewind.cssInterop)(SwitchPrimitive.Root, {
|
|
20
|
+
className: "style"
|
|
21
|
+
});
|
|
22
|
+
const BORDER_WIDTH = 2;
|
|
23
|
+
/** Gap between thumb and inner edge of the track border (web `translate-x-0.5`). */
|
|
24
|
+
const THUMB_INSET = 2;
|
|
25
|
+
const CENTER = {
|
|
26
|
+
alignItems: "center",
|
|
27
|
+
justifyContent: "center"
|
|
28
|
+
};
|
|
18
29
|
const THUMB_SIZES = {
|
|
19
30
|
sm: 8,
|
|
20
31
|
md: 12,
|
|
21
32
|
lg: 16
|
|
22
33
|
};
|
|
23
|
-
const
|
|
24
|
-
sm:
|
|
25
|
-
md:
|
|
26
|
-
lg:
|
|
34
|
+
const ICON_SIZES = {
|
|
35
|
+
sm: 8,
|
|
36
|
+
md: 12,
|
|
37
|
+
lg: 14
|
|
27
38
|
};
|
|
39
|
+
|
|
40
|
+
/** Same scale as web `h-4 w-6` / `h-5 w-8` / `h-6 w-10` at 16px rem. */
|
|
28
41
|
const SWITCH_DIMENSIONS = {
|
|
29
42
|
sm: {
|
|
30
43
|
width: 24,
|
|
@@ -39,15 +52,43 @@ const SWITCH_DIMENSIONS = {
|
|
|
39
52
|
height: 24
|
|
40
53
|
}
|
|
41
54
|
};
|
|
42
|
-
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Thumb is a sibling of the bordered track (not a child of it), so offsets are
|
|
58
|
+
* from the root's outer box. That avoids Yoga content-box quirks where absolute
|
|
59
|
+
* children of a bordered view shift the knob down / past the right edge.
|
|
60
|
+
*
|
|
61
|
+
* off = border + inset
|
|
62
|
+
* on = width - border - inset - thumb
|
|
63
|
+
* on+disabled keeps a 1px tighter right inset, matching web.
|
|
64
|
+
*/
|
|
65
|
+
function getThumbTranslateX(trackWidth, thumbSize, checked, disabled) {
|
|
66
|
+
const off = BORDER_WIDTH + THUMB_INSET;
|
|
67
|
+
if (!checked) return off;
|
|
68
|
+
const on = trackWidth - BORDER_WIDTH - THUMB_INSET - thumbSize;
|
|
69
|
+
return disabled ? on - 1 : on;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Even curve. A strong ease-out spends the last frames crawling, which reads
|
|
74
|
+
* as the thumb catching. Track and thumb colors ride the same curve.
|
|
75
|
+
*/
|
|
76
|
+
const THUMB_MOTION = {
|
|
77
|
+
duration: 250,
|
|
78
|
+
easing: _reactNativeReanimated.Easing.inOut(_reactNativeReanimated.Easing.cubic)
|
|
79
|
+
};
|
|
80
|
+
|
|
81
|
+
// Px, not `h-6 w-10`: NativeWind resolves rem as 14px on native, which shrinks
|
|
82
|
+
// the track below SWITCH_DIMENSIONS and pushes the thumb down and out the right.
|
|
83
|
+
const switchVariants = exports.switchVariants = (0, _classVarianceAuthority.cva)("shrink-0", {
|
|
43
84
|
variants: {
|
|
44
85
|
variant: {
|
|
45
86
|
regular: ""
|
|
46
87
|
},
|
|
47
88
|
size: {
|
|
48
|
-
sm: "h-
|
|
49
|
-
md: "h-
|
|
50
|
-
lg: "h-
|
|
89
|
+
sm: "h-[16px] w-[24px]",
|
|
90
|
+
md: "h-[20px] w-[32px]",
|
|
91
|
+
lg: "h-[24px] w-[40px]"
|
|
51
92
|
}
|
|
52
93
|
},
|
|
53
94
|
defaultVariants: {
|
|
@@ -55,90 +96,162 @@ const switchVariants = exports.switchVariants = (0, _classVarianceAuthority.cva)
|
|
|
55
96
|
size: "md"
|
|
56
97
|
}
|
|
57
98
|
});
|
|
58
|
-
function
|
|
99
|
+
function renderThumbIcon(icon, color, size) {
|
|
100
|
+
if (! /*#__PURE__*/(0, _react.isValidElement)(icon)) return icon;
|
|
101
|
+
return /*#__PURE__*/(0, _react.cloneElement)(icon, {
|
|
102
|
+
color: icon.props.color ?? color,
|
|
103
|
+
width: icon.props.width ?? size,
|
|
104
|
+
height: icon.props.height ?? size
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
function SwitchThumbIcons({
|
|
108
|
+
progress,
|
|
109
|
+
checkedIcon,
|
|
110
|
+
uncheckedIcon,
|
|
111
|
+
checkedIconColor,
|
|
112
|
+
uncheckedIconColor,
|
|
113
|
+
iconSize
|
|
114
|
+
}) {
|
|
115
|
+
const checkedIconStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
|
|
116
|
+
opacity: progress.value
|
|
117
|
+
}));
|
|
118
|
+
const uncheckedIconStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
|
|
119
|
+
opacity: 1 - progress.value
|
|
120
|
+
}));
|
|
121
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
122
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
123
|
+
style: [_reactNative.StyleSheet.absoluteFill, CENTER, uncheckedIconStyle],
|
|
124
|
+
children: renderThumbIcon(uncheckedIcon, uncheckedIconColor, iconSize)
|
|
125
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
126
|
+
style: [_reactNative.StyleSheet.absoluteFill, CENTER, checkedIconStyle],
|
|
127
|
+
children: renderThumbIcon(checkedIcon, checkedIconColor, iconSize)
|
|
128
|
+
})]
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
const Switch = exports.Switch = /*#__PURE__*/(0, _react.memo)(function Switch({
|
|
59
132
|
className,
|
|
60
133
|
size = "md",
|
|
61
|
-
variant,
|
|
134
|
+
variant = "regular",
|
|
62
135
|
checkedIcon,
|
|
63
136
|
uncheckedIcon,
|
|
64
137
|
checked,
|
|
65
138
|
defaultChecked,
|
|
66
139
|
onCheckedChange,
|
|
67
|
-
disabled,
|
|
140
|
+
disabled = false,
|
|
68
141
|
style,
|
|
69
142
|
...props
|
|
70
143
|
}) {
|
|
71
144
|
const resolvedSize = size ?? "md";
|
|
72
145
|
const dimensions = SWITCH_DIMENSIONS[resolvedSize];
|
|
146
|
+
const thumbSize = THUMB_SIZES[resolvedSize];
|
|
147
|
+
const iconSize = ICON_SIZES[resolvedSize];
|
|
73
148
|
const [internalChecked, setInternalChecked] = (0, _react.useState)(defaultChecked ?? false);
|
|
74
149
|
const isControlled = checked !== undefined;
|
|
75
|
-
const isChecked = isControlled ? checked
|
|
76
|
-
const trackOn = (0, _useThemeColor.useThemeColor)("primary-background-fill");
|
|
77
|
-
const trackOff = (0, _useThemeColor.useThemeColor)("surface-card");
|
|
78
|
-
const trackDisabled = (0, _useThemeColor.useThemeColor)("gray-background-soft-muted");
|
|
79
|
-
const trackBorder = (0, _useThemeColor.useThemeColor)("gray-stroke-muted");
|
|
80
|
-
const thumbOn = (0, _useThemeColor.useThemeColor)("primary-foreground-onfill");
|
|
81
|
-
const thumbOff = (0, _useThemeColor.useThemeColor)("gray-foreground-muted");
|
|
82
|
-
const thumbDisabled = (0, _useThemeColor.useThemeColor)("gray-background-fill-muted");
|
|
83
|
-
const translateX = (0, _reactNativeReanimated.useSharedValue)(isChecked ? THUMB_TRANSLATE[resolvedSize] : 2);
|
|
84
|
-
(0, _react.useEffect)(() => {
|
|
85
|
-
translateX.value = (0, _reactNativeReanimated.withTiming)(isChecked ? THUMB_TRANSLATE[resolvedSize] : 2, {
|
|
86
|
-
duration: 180,
|
|
87
|
-
easing: _reactNativeReanimated.Easing.out(_reactNativeReanimated.Easing.ease)
|
|
88
|
-
});
|
|
89
|
-
}, [isChecked, resolvedSize, translateX]);
|
|
90
|
-
const thumbStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
|
|
91
|
-
transform: [{
|
|
92
|
-
translateX: translateX.value
|
|
93
|
-
}]
|
|
94
|
-
}));
|
|
150
|
+
const isChecked = isControlled ? checked : internalChecked;
|
|
95
151
|
const hasIcons = Boolean(checkedIcon || uncheckedIcon);
|
|
96
|
-
const
|
|
152
|
+
const checkedIconColor = (0, _useThemeColor.useThemeColor)(disabled ? "gray-300" : "primary-foreground-onfill");
|
|
153
|
+
const uncheckedIconColor = (0, _useThemeColor.useThemeColor)(disabled ? "gray-300" : "gray-foreground");
|
|
154
|
+
const trackOffColor = (0, _useThemeColor.useThemeColor)(disabled ? "gray-background-soft-muted" : "surface-card");
|
|
155
|
+
const trackOnColor = (0, _useThemeColor.useThemeColor)(disabled ? "gray-background-soft-muted" : "primary-background-fill");
|
|
156
|
+
const borderOffColor = (0, _useThemeColor.useThemeColor)("gray-stroke-muted");
|
|
157
|
+
const borderOnColor = disabled ? borderOffColor : (0, _useThemeColor.withAlpha)(borderOffColor, 0);
|
|
158
|
+
const thumbDisabledColor = (0, _useThemeColor.useThemeColor)("gray-background-fill-muted");
|
|
159
|
+
const thumbOnToken = (0, _useThemeColor.useThemeColor)("primary-foreground-onfill");
|
|
160
|
+
const thumbOffToken = (0, _useThemeColor.useThemeColor)("gray-foreground-muted");
|
|
161
|
+
const thumbOffColor = hasIcons ? "rgba(0, 0, 0, 0)" : disabled ? thumbDisabledColor : thumbOffToken;
|
|
162
|
+
const thumbOnColor = hasIcons ? "rgba(0, 0, 0, 0)" : disabled ? thumbDisabledColor : thumbOnToken;
|
|
163
|
+
const offX = getThumbTranslateX(dimensions.width, thumbSize, false, disabled);
|
|
164
|
+
const onX = getThumbTranslateX(dimensions.width, thumbSize, true, disabled);
|
|
165
|
+
// Root has no border — center against the outer height.
|
|
166
|
+
const thumbTop = (dimensions.height - thumbSize) / 2;
|
|
167
|
+
|
|
168
|
+
// Single UI-thread driver for position, colors and icons. In controlled mode
|
|
169
|
+
// the visual only moves when `checked` changes (same as the web Radix switch).
|
|
170
|
+
const progress = (0, _reactNativeReanimated.useSharedValue)(isChecked ? 1 : 0);
|
|
171
|
+
const targetRef = (0, _react.useRef)(isChecked);
|
|
172
|
+
const animateTo = next => {
|
|
173
|
+
if (targetRef.current === next) return;
|
|
174
|
+
targetRef.current = next;
|
|
175
|
+
progress.value = (0, _reactNativeReanimated.withTiming)(next ? 1 : 0, THUMB_MOTION);
|
|
176
|
+
};
|
|
177
|
+
(0, _react.useLayoutEffect)(() => {
|
|
178
|
+
animateTo(isChecked);
|
|
179
|
+
}, [isChecked]);
|
|
97
180
|
const handleCheckedChange = nextChecked => {
|
|
98
|
-
if (!isControlled)
|
|
181
|
+
if (!isControlled) {
|
|
182
|
+
animateTo(nextChecked);
|
|
183
|
+
setInternalChecked(nextChecked);
|
|
184
|
+
}
|
|
99
185
|
onCheckedChange?.(nextChecked);
|
|
100
186
|
};
|
|
101
|
-
const
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
187
|
+
const trackMotionStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
|
|
188
|
+
backgroundColor: (0, _reactNativeReanimated.interpolateColor)(progress.value, [0, 1], [trackOffColor, trackOnColor]),
|
|
189
|
+
borderColor: (0, _reactNativeReanimated.interpolateColor)(progress.value, [0, 1], [borderOffColor, borderOnColor])
|
|
190
|
+
}));
|
|
191
|
+
const thumbMotionStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
|
|
192
|
+
transform: [{
|
|
193
|
+
translateX: offX + (onX - offX) * progress.value
|
|
194
|
+
}]
|
|
195
|
+
}), [offX, onX]);
|
|
196
|
+
const thumbColorStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
|
|
197
|
+
backgroundColor: (0, _reactNativeReanimated.interpolateColor)(progress.value, [0, 1], [thumbOffColor, thumbOnColor])
|
|
198
|
+
}));
|
|
199
|
+
const baseRootStyle = (0, _react.useMemo)(() => ({
|
|
105
200
|
width: dimensions.width,
|
|
106
201
|
height: dimensions.height,
|
|
107
202
|
minWidth: dimensions.width,
|
|
108
203
|
minHeight: dimensions.height,
|
|
109
204
|
borderRadius: dimensions.height / 2,
|
|
110
|
-
borderWidth:
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
205
|
+
borderWidth: 0,
|
|
206
|
+
padding: 0,
|
|
207
|
+
overflow: "visible"
|
|
208
|
+
}), [dimensions.height, dimensions.width]);
|
|
209
|
+
const trackStyle = (0, _react.useMemo)(() => ({
|
|
210
|
+
..._reactNative.StyleSheet.absoluteFill,
|
|
211
|
+
borderRadius: dimensions.height / 2,
|
|
212
|
+
borderWidth: BORDER_WIDTH
|
|
213
|
+
}), [dimensions.height]);
|
|
214
|
+
const thumbStyle = (0, _react.useMemo)(() => ({
|
|
215
|
+
position: "absolute",
|
|
216
|
+
top: thumbTop,
|
|
217
|
+
left: 0,
|
|
218
|
+
width: thumbSize,
|
|
219
|
+
height: thumbSize,
|
|
220
|
+
borderRadius: thumbSize / 2,
|
|
221
|
+
alignItems: "center",
|
|
222
|
+
justifyContent: "center"
|
|
223
|
+
}), [thumbSize, thumbTop]);
|
|
224
|
+
const hitSlop = (0, _react.useMemo)(() => (0, _touchTarget.getMinTouchHitSlop)(dimensions.width, dimensions.height), [dimensions.height, dimensions.width]);
|
|
225
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(StyledSwitchRoot, {
|
|
226
|
+
hitSlop: hitSlop,
|
|
227
|
+
...props,
|
|
117
228
|
checked: isChecked,
|
|
118
229
|
onCheckedChange: handleCheckedChange,
|
|
119
230
|
disabled: disabled,
|
|
120
|
-
hitSlop: (0, _touchTarget.getMinTouchHitSlop)(dimensions.width, dimensions.height),
|
|
121
|
-
style: state => [rootStyle, typeof style === "function" ? style(state) : style],
|
|
122
231
|
className: (0, _utils.cn)(switchVariants({
|
|
123
|
-
size,
|
|
232
|
+
size: resolvedSize,
|
|
124
233
|
variant
|
|
125
|
-
}), className)
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
234
|
+
}), className)
|
|
235
|
+
// Not a function: with a `className`, NativeWind spreads `style` into an
|
|
236
|
+
// object, and a function spreads to nothing.
|
|
237
|
+
,
|
|
238
|
+
style: [baseRootStyle, style],
|
|
239
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
240
|
+
pointerEvents: "none",
|
|
241
|
+
style: [trackStyle, trackMotionStyle]
|
|
242
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
|
|
243
|
+
pointerEvents: "none",
|
|
244
|
+
collapsable: false,
|
|
245
|
+
style: [thumbStyle, thumbMotionStyle, thumbColorStyle],
|
|
246
|
+
children: hasIcons ? /*#__PURE__*/(0, _jsxRuntime.jsx)(SwitchThumbIcons, {
|
|
247
|
+
progress: progress,
|
|
248
|
+
checkedIcon: checkedIcon,
|
|
249
|
+
uncheckedIcon: uncheckedIcon,
|
|
250
|
+
checkedIconColor: checkedIconColor,
|
|
251
|
+
uncheckedIconColor: uncheckedIconColor,
|
|
252
|
+
iconSize: iconSize
|
|
253
|
+
}) : null
|
|
254
|
+
})]
|
|
142
255
|
});
|
|
143
|
-
}
|
|
256
|
+
});
|
|
144
257
|
//# sourceMappingURL=Switch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_reactNative","SwitchPrimitive","_interopRequireWildcard","_reactNativeReanimated","_classVarianceAuthority","_utils","_touchTarget","_useThemeColor","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","THUMB_SIZES","sm","md","lg","THUMB_TRANSLATE","SWITCH_DIMENSIONS","width","height","switchVariants","exports","cva","variants","variant","regular","size","defaultVariants","Switch","className","checkedIcon","uncheckedIcon","checked","defaultChecked","onCheckedChange","disabled","style","props","resolvedSize","dimensions","internalChecked","setInternalChecked","useState","isControlled","undefined","isChecked","trackOn","useThemeColor","trackOff","trackDisabled","trackBorder","thumbOn","thumbOff","thumbDisabled","translateX","useSharedValue","useEffect","value","withTiming","duration","easing","Easing","out","ease","thumbStyle","useAnimatedStyle","transform","hasIcons","Boolean","thumbSize","handleCheckedChange","nextChecked","trackBackgroundColor","trackBorderColor","thumbBackgroundColor","rootStyle","minWidth","minHeight","borderRadius","borderWidth","alignItems","justifyContent","backgroundColor","borderColor","jsx","Root","hitSlop","getMinTouchHitSlop","state","cn","children","Thumb","asChild","View","jsxs"],"sourceRoot":"../../../src","sources":["components/Switch.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_nativewind","SwitchPrimitive","_interopRequireWildcard","_reactNativeReanimated","_classVarianceAuthority","_utils","_touchTarget","_useThemeColor","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","StyledSwitchRoot","cssInterop","Root","className","BORDER_WIDTH","THUMB_INSET","CENTER","alignItems","justifyContent","THUMB_SIZES","sm","md","lg","ICON_SIZES","SWITCH_DIMENSIONS","width","height","getThumbTranslateX","trackWidth","thumbSize","checked","disabled","off","on","THUMB_MOTION","duration","easing","Easing","inOut","cubic","switchVariants","exports","cva","variants","variant","regular","size","defaultVariants","renderThumbIcon","icon","color","isValidElement","cloneElement","props","SwitchThumbIcons","progress","checkedIcon","uncheckedIcon","checkedIconColor","uncheckedIconColor","iconSize","checkedIconStyle","useAnimatedStyle","opacity","value","uncheckedIconStyle","jsxs","Fragment","children","jsx","View","style","StyleSheet","absoluteFill","Switch","memo","defaultChecked","onCheckedChange","resolvedSize","dimensions","internalChecked","setInternalChecked","useState","isControlled","undefined","isChecked","hasIcons","Boolean","useThemeColor","trackOffColor","trackOnColor","borderOffColor","borderOnColor","withAlpha","thumbDisabledColor","thumbOnToken","thumbOffToken","thumbOffColor","thumbOnColor","offX","onX","thumbTop","useSharedValue","targetRef","useRef","animateTo","next","current","withTiming","useLayoutEffect","handleCheckedChange","nextChecked","trackMotionStyle","backgroundColor","interpolateColor","borderColor","thumbMotionStyle","transform","translateX","thumbColorStyle","baseRootStyle","useMemo","minWidth","minHeight","borderRadius","borderWidth","padding","overflow","trackStyle","thumbStyle","position","top","left","hitSlop","getMinTouchHitSlop","cn","pointerEvents","collapsable"],"sourceRoot":"../../../src","sources":["components/Switch.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -73,7 +73,7 @@ const buttonVariants = cva("flex-row items-center justify-center gap-2 rounded-p
|
|
|
73
73
|
success: "bg-green-background-fill active:bg-green-background-fill-emphasis disabled:bg-gray-background-fill-muted",
|
|
74
74
|
"success-soft": "bg-green-background-soft active:bg-green-background-soft-emphasis disabled:bg-gray-background-soft-muted",
|
|
75
75
|
"success-basic": "bg-transparent active:bg-green-background-soft-emphasis disabled:bg-transparent",
|
|
76
|
-
outlined: "border border-gray-stroke-muted bg-transparent active:bg-
|
|
76
|
+
outlined: "border border-gray-stroke-muted bg-transparent active:bg-state-hover disabled:border-gray-stroke-muted",
|
|
77
77
|
gradient: "bg-primary active:opacity-90 disabled:bg-gray-background-fill-muted",
|
|
78
78
|
medbrain: "bg-surface-card border-2 border-secondary active:bg-secondary-background-soft disabled:bg-gray-background-fill-muted disabled:border-transparent"
|
|
79
79
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Pressable","View","Text","cva","cn","Loading","Badge","BadgeComponent","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ICON_ONLY_SIZES","sm","md","lg","xl","badgeSizeMap","ALERT_DOT_SIZES","LOADING_SIZES","FILLED_LOADING_COLOR","SOFT_LOADING_COLOR","LOADING_COLOR_TOKENS","regular","emphasis","error","warning","success","outlined","gradient","medbrain","buttonVariants","variants","variant","size","defaultVariants","buttonTextVariants","shouldShowBadge","value","Button","className","containerStyle","iconRight","iconLeft","badge","loading","alert","disabled","children","props","resolvedSize","resolvedVariant","isIconOnly","style","position","String","accessibilityRole","accessibilityState","busy","colorToken","width","height","backgroundColor"],"sourceRoot":"../../../src","sources":["components/Button.tsx"],"mappings":";;AACA,SAASA,SAAS,EAAEC,IAAI,QAA6C,cAAc;AAEnF,SAASC,IAAI,QAAQ,mBAAmB;AACxC,SAASC,GAAG,QAA2B,0BAA0B;AACjE,SAASC,EAAE,QAAQ,aAAa;AAChC,SAASC,OAAO,QAAQ,sBAAsB;AAC9C,SAASC,KAAK,IAAIC,cAAc,QAAQ,oBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAe7D,MAAMC,eAA0D,GAAG;EACjEC,EAAE,EAAE,iBAAiB;EACrBC,EAAE,EAAE,oBAAoB;EACxBC,EAAE,EAAE,oBAAoB;EACxBC,EAAE,EAAE;AACN,CAAC;AAED,MAAMC,YAA0E,GAAG;EACjFJ,EAAE,EAAE,IAAI;EACRC,EAAE,EAAE,IAAI;EACRC,EAAE,EAAE,IAAI;EACRC,EAAE,EAAE;AACN,CAAC;AAED,MAAME,eAA0D,GAAG;EACjEL,EAAE,EAAE,CAAC;EACLC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE;AACN,CAAC;AAED,MAAMG,aAAwD,GAAG;EAC/DN,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE,EAAE;EACNC,EAAE,EAAE;AACN,CAAC;AAED,MAAMI,oBAAqC,GAAG,wBAAwB;AACtE,MAAMC,kBAAmC,GAAG,uBAAuB;;AAEnE;AACA,MAAMC,oBAA4D,GAAG;EACnEC,OAAO,EAAEH,oBAAoB;EAC7B,cAAc,EAAEC,kBAAkB;EAClC,eAAe,EAAEA,kBAAkB;EACnCG,QAAQ,EAAEJ,oBAAoB;EAC9B,eAAe,EAAEC,kBAAkB;EACnC,gBAAgB,EAAEA,kBAAkB;EACpCI,KAAK,EAAEL,oBAAoB;EAC3B,YAAY,EAAEC,kBAAkB;EAChC,aAAa,EAAEA,kBAAkB;EACjCK,OAAO,EAAEN,oBAAoB;EAC7B,cAAc,EAAEC,kBAAkB;EAClC,eAAe,EAAEA,kBAAkB;EACnCM,OAAO,EAAEP,oBAAoB;EAC7B,cAAc,EAAEC,kBAAkB;EAClC,eAAe,EAAEA,kBAAkB;EACnCO,QAAQ,EAAEP,kBAAkB;EAC5BQ,QAAQ,EAAET,oBAAoB;EAC9BU,QAAQ,EAAEV;AACZ,CAAC;AAED,MAAMW,cAAc,GAAG9B,GAAG,CACxB,uEAAuE,EACvE;EACE+B,QAAQ,EAAE;IACRC,OAAO,EAAE;MACPV,OAAO,EACL,8GAA8G;MAChH,cAAc,EACZ,8GAA8G;MAChH,eAAe,EACb,mFAAmF;MACrFC,QAAQ,EACN,kHAAkH;MACpH,eAAe,EACb,kHAAkH;MACpH,gBAAgB,EACd,qFAAqF;MACvFC,KAAK,EACH,sGAAsG;MACxG,YAAY,EACV,sGAAsG;MACxG,aAAa,EACX,+EAA+E;MACjFC,OAAO,EACL,4GAA4G;MAC9G,cAAc,EACZ,4GAA4G;MAC9G,eAAe,EACb,kFAAkF;MACpFC,OAAO,EACL,0GAA0G;MAC5G,cAAc,EACZ,0GAA0G;MAC5G,eAAe,EACb,iFAAiF;MACnFC,QAAQ,EACN,
|
|
1
|
+
{"version":3,"names":["Pressable","View","Text","cva","cn","Loading","Badge","BadgeComponent","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","ICON_ONLY_SIZES","sm","md","lg","xl","badgeSizeMap","ALERT_DOT_SIZES","LOADING_SIZES","FILLED_LOADING_COLOR","SOFT_LOADING_COLOR","LOADING_COLOR_TOKENS","regular","emphasis","error","warning","success","outlined","gradient","medbrain","buttonVariants","variants","variant","size","defaultVariants","buttonTextVariants","shouldShowBadge","value","Button","className","containerStyle","iconRight","iconLeft","badge","loading","alert","disabled","children","props","resolvedSize","resolvedVariant","isIconOnly","style","position","String","accessibilityRole","accessibilityState","busy","colorToken","width","height","backgroundColor"],"sourceRoot":"../../../src","sources":["components/Button.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { useState, useCallback, useEffect, cloneElement } from "react";
|
|
4
|
-
import { View, TextInput, Pressable } from "react-native";
|
|
3
|
+
import { useState, useCallback, useEffect, useRef, cloneElement } from "react";
|
|
4
|
+
import { View, TextInput, Pressable, StyleSheet } from "react-native";
|
|
5
5
|
import Animated, { useSharedValue, useAnimatedStyle, withTiming, interpolate, Easing } from "react-native-reanimated";
|
|
6
6
|
import { cva } from "class-variance-authority";
|
|
7
7
|
import { ChevronDown, Hide, Lock, Mail, Show, TriangleWarning } from "@medway-ui/icons/native";
|
|
@@ -16,6 +16,15 @@ const INPUT_ICON_SIZE_MD = 20;
|
|
|
16
16
|
const INPUT_ICON_STROKE_WIDTH = 1.6;
|
|
17
17
|
const CHEVRON_SIZE_LG = 10;
|
|
18
18
|
const CHEVRON_SIZE_MD = 8;
|
|
19
|
+
const LABELED_INPUT_HEIGHT_CLASS = {
|
|
20
|
+
lg: "h-14",
|
|
21
|
+
md: "h-11"
|
|
22
|
+
};
|
|
23
|
+
const LABEL_FONT_SIZE = {
|
|
24
|
+
lg: 16,
|
|
25
|
+
md: 14
|
|
26
|
+
};
|
|
27
|
+
const FLOATED_LABEL_FONT_SIZE = 12;
|
|
19
28
|
const inputVariants = cva("w-full rounded-md border-2 border-gray-stroke-muted bg-surface-card px-4 text-gray-foreground", {
|
|
20
29
|
variants: {
|
|
21
30
|
size: {
|
|
@@ -60,45 +69,120 @@ function InputField({
|
|
|
60
69
|
...props
|
|
61
70
|
});
|
|
62
71
|
}
|
|
72
|
+
|
|
73
|
+
// `left-4`/`right-4` and `left-12`/`right-12` in FloatingLabel, in rem.
|
|
74
|
+
const LABEL_INSET_REM = 1;
|
|
75
|
+
const LABEL_ICON_INSET_REM = 3;
|
|
76
|
+
|
|
77
|
+
// Reanimated views drop `className` (see Skeleton), so the classes stay on plain views.
|
|
78
|
+
function FloatingLabelBackground({
|
|
79
|
+
progress
|
|
80
|
+
}) {
|
|
81
|
+
const style = useAnimatedStyle(() => ({
|
|
82
|
+
opacity: progress.value
|
|
83
|
+
}));
|
|
84
|
+
return /*#__PURE__*/_jsx(Animated.View, {
|
|
85
|
+
style: [StyleSheet.absoluteFill, style],
|
|
86
|
+
children: /*#__PURE__*/_jsx(View, {
|
|
87
|
+
className: "absolute -inset-x-1 inset-y-0 rounded-sm bg-surface-card"
|
|
88
|
+
})
|
|
89
|
+
});
|
|
90
|
+
}
|
|
63
91
|
function FloatingLabel({
|
|
64
92
|
children,
|
|
65
93
|
floated = false,
|
|
66
|
-
disabled = false
|
|
94
|
+
disabled = false,
|
|
95
|
+
invalid = false,
|
|
96
|
+
size,
|
|
97
|
+
hasStartIcon = false,
|
|
98
|
+
hasEndIcon = false
|
|
67
99
|
}) {
|
|
100
|
+
const resolvedSize = size ?? "lg";
|
|
68
101
|
const progress = useSharedValue(floated ? 1 : 0);
|
|
102
|
+
const metrics = useSharedValue({
|
|
103
|
+
restWidth: 0,
|
|
104
|
+
floatedWidth: 0,
|
|
105
|
+
floatedX: 0,
|
|
106
|
+
floatedY: 0
|
|
107
|
+
});
|
|
108
|
+
const lastFloated = useRef(floated);
|
|
109
|
+
const floatedScale = FLOATED_LABEL_FONT_SIZE / LABEL_FONT_SIZE[resolvedSize];
|
|
69
110
|
useEffect(() => {
|
|
111
|
+
if (lastFloated.current === floated) return;
|
|
112
|
+
lastFloated.current = floated;
|
|
70
113
|
progress.value = withTiming(floated ? 1 : 0, {
|
|
71
114
|
duration: 200,
|
|
72
115
|
easing: Easing.out(Easing.ease)
|
|
73
116
|
});
|
|
74
|
-
}, [floated]);
|
|
75
|
-
const
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
117
|
+
}, [floated, progress]);
|
|
118
|
+
const handleLayout = event => {
|
|
119
|
+
const {
|
|
120
|
+
x,
|
|
121
|
+
width,
|
|
122
|
+
height
|
|
123
|
+
} = event.nativeEvent.layout;
|
|
124
|
+
const rem = x / (hasStartIcon ? LABEL_ICON_INSET_REM : LABEL_INSET_REM);
|
|
125
|
+
const inset = rem * LABEL_INSET_REM;
|
|
126
|
+
const fieldWidth = x + width + rem * (hasEndIcon ? LABEL_ICON_INSET_REM : LABEL_INSET_REM);
|
|
127
|
+
metrics.value = {
|
|
128
|
+
restWidth: width,
|
|
129
|
+
floatedWidth: fieldWidth - inset * 2,
|
|
130
|
+
floatedX: inset - x,
|
|
131
|
+
floatedY: -height / 2
|
|
132
|
+
};
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
// Older React Native ignores `transformOrigin`, so it scales around the center
|
|
136
|
+
// and `translateX` makes up for the width lost on the left.
|
|
137
|
+
const labelStyle = useAnimatedStyle(() => {
|
|
138
|
+
const {
|
|
139
|
+
restWidth,
|
|
140
|
+
floatedWidth,
|
|
141
|
+
floatedX,
|
|
142
|
+
floatedY
|
|
143
|
+
} = metrics.value;
|
|
144
|
+
const scale = interpolate(progress.value, [0, 1], [1, floatedScale]);
|
|
145
|
+
const width = interpolate(progress.value, [0, 1], [restWidth, floatedWidth / floatedScale]);
|
|
146
|
+
return {
|
|
147
|
+
opacity: restWidth > 0 ? 1 : 0,
|
|
148
|
+
width,
|
|
149
|
+
transform: [{
|
|
150
|
+
translateX: interpolate(progress.value, [0, 1], [0, floatedX]) - width * (1 - scale) / 2
|
|
151
|
+
}, {
|
|
152
|
+
translateY: interpolate(progress.value, [0, 1], [0, floatedY])
|
|
153
|
+
}, {
|
|
154
|
+
scale
|
|
155
|
+
}]
|
|
156
|
+
};
|
|
157
|
+
});
|
|
158
|
+
return /*#__PURE__*/_jsx(View, {
|
|
159
|
+
pointerEvents: "none",
|
|
160
|
+
importantForAccessibility: "no-hide-descendants",
|
|
161
|
+
accessibilityElementsHidden: true,
|
|
162
|
+
onLayout: handleLayout,
|
|
163
|
+
className: cn("absolute inset-y-0 z-10", hasStartIcon ? "left-12" : "left-4", hasEndIcon ? "right-12" : "right-4"),
|
|
164
|
+
children: /*#__PURE__*/_jsx(Animated.View, {
|
|
165
|
+
style: [{
|
|
166
|
+
flex: 1,
|
|
167
|
+
justifyContent: "center",
|
|
168
|
+
alignItems: "flex-start"
|
|
169
|
+
}, labelStyle],
|
|
170
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
171
|
+
className: "max-w-full",
|
|
172
|
+
children: [!disabled && /*#__PURE__*/_jsx(FloatingLabelBackground, {
|
|
173
|
+
progress: progress
|
|
174
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
175
|
+
numberOfLines: 1,
|
|
176
|
+
className: cn(floated ? "font-medium" : "font-normal", resolvedSize === "md" ? "text-sm" : "text-md", disabled ? "text-gray-foreground-muted" : invalid ? "text-feedback-error-foreground" : "text-gray-foreground"),
|
|
177
|
+
children: children
|
|
178
|
+
})]
|
|
179
|
+
})
|
|
180
|
+
})
|
|
91
181
|
});
|
|
92
182
|
}
|
|
93
|
-
function InputLabel({
|
|
94
|
-
children,
|
|
95
|
-
floated = false,
|
|
96
|
-
disabled = false
|
|
97
|
-
}) {
|
|
183
|
+
function InputLabel(props) {
|
|
98
184
|
return /*#__PURE__*/_jsx(FloatingLabel, {
|
|
99
|
-
|
|
100
|
-
disabled: disabled,
|
|
101
|
-
children: children
|
|
185
|
+
...props
|
|
102
186
|
});
|
|
103
187
|
}
|
|
104
188
|
function InputText({
|
|
@@ -201,6 +285,10 @@ function InputPassword({
|
|
|
201
285
|
children: [label && /*#__PURE__*/_jsx(InputLabel, {
|
|
202
286
|
floated: isFloated,
|
|
203
287
|
disabled: props.editable === false,
|
|
288
|
+
invalid: invalid,
|
|
289
|
+
size: size,
|
|
290
|
+
hasStartIcon: true,
|
|
291
|
+
hasEndIcon: true,
|
|
204
292
|
children: label
|
|
205
293
|
}), /*#__PURE__*/_jsx(TextInput, {
|
|
206
294
|
secureTextEntry: !visible,
|
|
@@ -209,11 +297,12 @@ function InputPassword({
|
|
|
209
297
|
invalid,
|
|
210
298
|
focused,
|
|
211
299
|
disabled: props.editable === false
|
|
212
|
-
}), "pl-12 pr-12 font-medium", className),
|
|
300
|
+
}), label ? LABELED_INPUT_HEIGHT_CLASS[size ?? "lg"] : "", "pl-12 pr-12 font-medium", className),
|
|
213
301
|
value: value,
|
|
214
302
|
defaultValue: defaultValue,
|
|
215
303
|
accessibilityLabel: label,
|
|
216
304
|
...props,
|
|
305
|
+
placeholderTextColor: label ? "transparent" : props.placeholderTextColor,
|
|
217
306
|
onFocus: handleFocus,
|
|
218
307
|
onBlur: handleBlur,
|
|
219
308
|
onChangeText: handleChangeText,
|
|
@@ -286,6 +375,10 @@ function InputNumeric({
|
|
|
286
375
|
children: [label && /*#__PURE__*/_jsx(InputLabel, {
|
|
287
376
|
floated: isFloated,
|
|
288
377
|
disabled: !editable,
|
|
378
|
+
invalid: invalid,
|
|
379
|
+
size: size,
|
|
380
|
+
hasStartIcon: !!iconLeft,
|
|
381
|
+
hasEndIcon: true,
|
|
289
382
|
children: label
|
|
290
383
|
}), /*#__PURE__*/_jsx(TextInput, {
|
|
291
384
|
keyboardType: allowNegative ? "numbers-and-punctuation" : "numeric",
|
|
@@ -301,9 +394,10 @@ function InputNumeric({
|
|
|
301
394
|
invalid,
|
|
302
395
|
focused,
|
|
303
396
|
disabled: !editable
|
|
304
|
-
}), iconLeft ? "pl-12" : "", "pr-12 font-medium", className),
|
|
397
|
+
}), label ? LABELED_INPUT_HEIGHT_CLASS[size ?? "lg"] : "", iconLeft ? "pl-12" : "", "pr-12 font-medium", className),
|
|
305
398
|
accessibilityLabel: label,
|
|
306
399
|
...props,
|
|
400
|
+
placeholderTextColor: label ? "transparent" : props.placeholderTextColor,
|
|
307
401
|
onFocus: handleFocus,
|
|
308
402
|
onBlur: handleBlur,
|
|
309
403
|
style: [{
|
|
@@ -410,6 +504,10 @@ function InputTextual({
|
|
|
410
504
|
children: [label && /*#__PURE__*/_jsx(InputLabel, {
|
|
411
505
|
floated: isFloated,
|
|
412
506
|
disabled: !editable,
|
|
507
|
+
invalid: invalid,
|
|
508
|
+
size: size,
|
|
509
|
+
hasStartIcon: !!resolvedIconLeft,
|
|
510
|
+
hasEndIcon: !!resolvedIconRight,
|
|
413
511
|
children: label
|
|
414
512
|
}), /*#__PURE__*/_jsx(TextInput, {
|
|
415
513
|
keyboardType: type === "email" ? "email-address" : "default",
|
|
@@ -421,9 +519,10 @@ function InputTextual({
|
|
|
421
519
|
invalid,
|
|
422
520
|
focused,
|
|
423
521
|
disabled: !editable
|
|
424
|
-
}), resolvedIconLeft ? "pl-12" : "", resolvedIconRight ? "pr-12" : "", "font-medium", className),
|
|
522
|
+
}), label ? LABELED_INPUT_HEIGHT_CLASS[size ?? "lg"] : "", resolvedIconLeft ? "pl-12" : "", resolvedIconRight ? "pr-12" : "", "font-medium", className),
|
|
425
523
|
accessibilityLabel: label,
|
|
426
524
|
...props,
|
|
525
|
+
placeholderTextColor: label ? "transparent" : props.placeholderTextColor,
|
|
427
526
|
onFocus: handleFocus,
|
|
428
527
|
onBlur: handleBlur,
|
|
429
528
|
onChangeText: handleChangeText,
|