@medway-ui/native 1.7.2 → 1.8.1

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.
Files changed (57) hide show
  1. package/README.md +4 -1
  2. package/lib/commonjs/components/Badge.js +159 -36
  3. package/lib/commonjs/components/Badge.js.map +1 -1
  4. package/lib/commonjs/components/Choice.js +35 -37
  5. package/lib/commonjs/components/Choice.js.map +1 -1
  6. package/lib/commonjs/components/SegmentControl.js +197 -0
  7. package/lib/commonjs/components/SegmentControl.js.map +1 -0
  8. package/lib/commonjs/components/Switch.js +176 -66
  9. package/lib/commonjs/components/Switch.js.map +1 -1
  10. package/lib/commonjs/editor/editorHtml.generated.js +1 -1
  11. package/lib/commonjs/editor/editorHtml.generated.js.map +1 -1
  12. package/lib/commonjs/hooks/useThemeColor.js +42 -42
  13. package/lib/commonjs/hooks/useThemeColor.js.map +1 -1
  14. package/lib/commonjs/index.js +31 -0
  15. package/lib/commonjs/index.js.map +1 -1
  16. package/lib/commonjs/lib/raised-surface.js +24 -0
  17. package/lib/commonjs/lib/raised-surface.js.map +1 -0
  18. package/lib/module/components/Badge.js +159 -36
  19. package/lib/module/components/Badge.js.map +1 -1
  20. package/lib/module/components/Choice.js +35 -37
  21. package/lib/module/components/Choice.js.map +1 -1
  22. package/lib/module/components/SegmentControl.js +189 -0
  23. package/lib/module/components/SegmentControl.js.map +1 -0
  24. package/lib/module/components/Switch.js +181 -69
  25. package/lib/module/components/Switch.js.map +1 -1
  26. package/lib/module/editor/editorHtml.generated.js +1 -1
  27. package/lib/module/editor/editorHtml.generated.js.map +1 -1
  28. package/lib/module/hooks/useThemeColor.js +42 -42
  29. package/lib/module/hooks/useThemeColor.js.map +1 -1
  30. package/lib/module/index.js +2 -0
  31. package/lib/module/index.js.map +1 -1
  32. package/lib/module/lib/raised-surface.js +22 -0
  33. package/lib/module/lib/raised-surface.js.map +1 -0
  34. package/lib/typescript/components/Badge.d.ts +14 -4
  35. package/lib/typescript/components/Badge.d.ts.map +1 -1
  36. package/lib/typescript/components/Chip.d.ts +2 -2
  37. package/lib/typescript/components/Choice.d.ts.map +1 -1
  38. package/lib/typescript/components/SegmentControl.d.ts +37 -0
  39. package/lib/typescript/components/SegmentControl.d.ts.map +1 -0
  40. package/lib/typescript/components/Switch.d.ts +5 -5
  41. package/lib/typescript/components/Switch.d.ts.map +1 -1
  42. package/lib/typescript/components/Tag.d.ts +2 -2
  43. package/lib/typescript/editor/editorHtml.generated.d.ts.map +1 -1
  44. package/lib/typescript/index.d.ts +3 -1
  45. package/lib/typescript/index.d.ts.map +1 -1
  46. package/lib/typescript/lib/raised-surface.d.ts +3 -0
  47. package/lib/typescript/lib/raised-surface.d.ts.map +1 -0
  48. package/package.json +1 -1
  49. package/setup/tokens.native.css +49 -22
  50. package/src/components/Badge.tsx +207 -61
  51. package/src/components/Choice.tsx +66 -45
  52. package/src/components/SegmentControl.tsx +265 -0
  53. package/src/components/Switch.tsx +303 -115
  54. package/src/editor/editorHtml.generated.ts +1 -1
  55. package/src/hooks/useThemeColor.ts +42 -42
  56. package/src/index.ts +21 -1
  57. package/src/lib/raised-surface.tsx +21 -0
@@ -0,0 +1,197 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SegmentControl = SegmentControl;
7
+ exports.SegmentControlContent = SegmentControlContent;
8
+ exports.SegmentControlList = SegmentControlList;
9
+ exports.SegmentControlTrigger = SegmentControlTrigger;
10
+ exports.segmentControlTriggerVariants = void 0;
11
+ var _react = require("react");
12
+ var _reactNative = require("react-native");
13
+ var TabsPrimitive = _interopRequireWildcard(require("@rn-primitives/tabs"));
14
+ var _classVarianceAuthority = require("class-variance-authority");
15
+ var _Badge = require("@/components/Badge");
16
+ var _Text = require("@/components/Text");
17
+ var _raisedSurface = require("@/lib/raised-surface");
18
+ var _utils = require("@/lib/utils");
19
+ var _jsxRuntime = require("react/jsx-runtime");
20
+ 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); }
21
+ const SegmentControlContext = /*#__PURE__*/(0, _react.createContext)({
22
+ size: "md"
23
+ });
24
+
25
+ // `min-h` instead of the web's `max-h`: a larger system font grows the segment instead of clipping it.
26
+ const segmentControlTriggerVariants = exports.segmentControlTriggerVariants = (0, _classVarianceAuthority.cva)("shrink flex-row items-center justify-center", {
27
+ variants: {
28
+ size: {
29
+ sm: "min-h-7 gap-2 px-3 py-1.5",
30
+ md: "min-h-9 gap-2.5 px-3.5 py-2",
31
+ lg: "min-h-11 gap-3 px-4 py-2.5"
32
+ }
33
+ },
34
+ defaultVariants: {
35
+ size: "md"
36
+ }
37
+ });
38
+
39
+ // Up to the package's 44pt touch target (`MIN_TOUCH_TARGET`), vertically only: segments sit 2px apart.
40
+ const TRIGGER_HIT_SLOP = {
41
+ sm: {
42
+ top: 8,
43
+ bottom: 8
44
+ },
45
+ md: {
46
+ top: 4,
47
+ bottom: 4
48
+ },
49
+ lg: undefined
50
+ };
51
+ const segmentControlTextVariants = (0, _classVarianceAuthority.cva)("text-center", {
52
+ variants: {
53
+ size: {
54
+ sm: "text-xs leading-xs",
55
+ md: "text-sm leading-sm",
56
+ lg: "text-md leading-md"
57
+ }
58
+ },
59
+ defaultVariants: {
60
+ size: "md"
61
+ }
62
+ });
63
+ function SegmentControl({
64
+ value: valueProp,
65
+ defaultValue = "",
66
+ onValueChange,
67
+ size = "md",
68
+ className,
69
+ children,
70
+ ...props
71
+ }) {
72
+ const [uncontrolledValue, setUncontrolledValue] = (0, _react.useState)(defaultValue);
73
+ const value = valueProp ?? uncontrolledValue;
74
+ const context = (0, _react.useMemo)(() => ({
75
+ size
76
+ }), [size]);
77
+ const handleValueChange = next => {
78
+ if (next === value) return;
79
+ if (valueProp === undefined) setUncontrolledValue(next);
80
+ onValueChange?.(next);
81
+ };
82
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(SegmentControlContext.Provider, {
83
+ value: context,
84
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(TabsPrimitive.Root, {
85
+ asChild: true,
86
+ value: value,
87
+ onValueChange: handleValueChange,
88
+ ...props,
89
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
90
+ className: (0, _utils.cn)("gap-2", className),
91
+ children: children
92
+ })
93
+ })
94
+ });
95
+ }
96
+ function SegmentControlList({
97
+ className,
98
+ children,
99
+ ...props
100
+ }) {
101
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(TabsPrimitive.List, {
102
+ asChild: true,
103
+ ...props,
104
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
105
+ className: (0, _utils.cn)("flex-row items-center gap-0.5 self-start rounded-md bg-gray-background-soft p-0.5", className),
106
+ children: children
107
+ })
108
+ });
109
+ }
110
+ function shouldShowBadge(badge, disabled) {
111
+ return badge != null && badge !== 0 && badge !== "" && badge !== "0" && !disabled;
112
+ }
113
+
114
+ // Strings and numbers, as in `Aulas {count}`, join into one label; anything else renders as is.
115
+ function toLabel(children) {
116
+ const parts = _react.Children.toArray(children);
117
+ return parts.length > 0 && parts.every(part => typeof part === "string" || typeof part === "number") ? parts.join("") : null;
118
+ }
119
+ function SegmentControlTrigger({
120
+ className,
121
+ children,
122
+ icon,
123
+ badge,
124
+ badgeVariant,
125
+ value,
126
+ disabled,
127
+ accessibilityLabel,
128
+ ...props
129
+ }) {
130
+ const {
131
+ size
132
+ } = (0, _react.useContext)(SegmentControlContext);
133
+ const {
134
+ value: activeValue
135
+ } = TabsPrimitive.useRootContext();
136
+ const isActive = activeValue === value;
137
+ const isDisabled = !!disabled;
138
+ const showBadge = shouldShowBadge(badge, isDisabled);
139
+ const label = toLabel(children);
140
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(TabsPrimitive.Trigger, {
141
+ asChild: true,
142
+ value: value,
143
+ disabled: disabled,
144
+ ...props,
145
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
146
+ accessibilityLabel: accessibilityLabel ?? (label != null ? showBadge ? `${label}, ${badge}` : label : undefined),
147
+ hitSlop: TRIGGER_HIT_SLOP[size],
148
+ className: (0, _utils.cn)(segmentControlTriggerVariants({
149
+ size
150
+ }), className),
151
+ children: ({
152
+ pressed
153
+ }) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
154
+ children: [isActive ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_raisedSurface.RaisedSurface, {}) : null, icon ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
155
+ className: "shrink-0",
156
+ children: icon
157
+ }) : null, label != null ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
158
+ className: "min-w-0 shrink",
159
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.Text, {
160
+ numberOfLines: 1,
161
+ accessibilityElementsHidden: true,
162
+ importantForAccessibility: "no-hide-descendants",
163
+ className: (0, _utils.cn)(segmentControlTextVariants({
164
+ size
165
+ }), "font-semibold opacity-0"),
166
+ children: label
167
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.Text, {
168
+ numberOfLines: 1,
169
+ className: (0, _utils.cn)(segmentControlTextVariants({
170
+ size
171
+ }), "absolute inset-0", isActive ? "font-semibold" : "font-medium", isDisabled ? "text-gray-foreground-muted" : isActive ? pressed ? "text-primary-foreground-emphasis" : "text-primary-foreground" : pressed ? "text-gray-foreground-emphasis" : "text-gray-foreground"),
172
+ children: label
173
+ })]
174
+ }) : children, showBadge ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Badge.Badge, {
175
+ size: size,
176
+ variant: badgeVariant,
177
+ children: String(badge)
178
+ }) : null]
179
+ })
180
+ })
181
+ });
182
+ }
183
+ function SegmentControlContent({
184
+ className,
185
+ children,
186
+ ...props
187
+ }) {
188
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(TabsPrimitive.Content, {
189
+ asChild: true,
190
+ ...props,
191
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
192
+ className: (0, _utils.cn)("flex-1", className),
193
+ children: children
194
+ })
195
+ });
196
+ }
197
+ //# sourceMappingURL=SegmentControl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","TabsPrimitive","_interopRequireWildcard","_classVarianceAuthority","_Badge","_Text","_raisedSurface","_utils","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","SegmentControlContext","createContext","size","segmentControlTriggerVariants","exports","cva","variants","sm","md","lg","defaultVariants","TRIGGER_HIT_SLOP","top","bottom","undefined","segmentControlTextVariants","SegmentControl","value","valueProp","defaultValue","onValueChange","className","children","props","uncontrolledValue","setUncontrolledValue","useState","context","useMemo","handleValueChange","next","jsx","Provider","Root","asChild","View","cn","SegmentControlList","List","shouldShowBadge","badge","disabled","toLabel","parts","Children","toArray","length","every","part","join","SegmentControlTrigger","icon","badgeVariant","accessibilityLabel","useContext","activeValue","useRootContext","isActive","isDisabled","showBadge","label","Trigger","Pressable","hitSlop","pressed","jsxs","Fragment","RaisedSurface","Text","numberOfLines","accessibilityElementsHidden","importantForAccessibility","Badge","variant","String","SegmentControlContent","Content"],"sourceRoot":"../../../src","sources":["components/SegmentControl.tsx"],"mappings":"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","ignoreList":[]}
@@ -3,10 +3,10 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.Switch = 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 THUMB_TRANSLATE = {
24
- sm: 11,
25
- md: 15,
26
- lg: 19
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
- const switchVariants = exports.switchVariants = (0, _classVarianceAuthority.cva)("rounded-full border-2 items-center shrink-0", {
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-4 w-6",
49
- md: "h-5 w-8",
50
- lg: "h-6 w-10"
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,159 @@ const switchVariants = exports.switchVariants = (0, _classVarianceAuthority.cva)
55
96
  size: "md"
56
97
  }
57
98
  });
58
- function Switch({
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 ?? false : internalChecked;
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 thumbSize = THUMB_SIZES[resolvedSize];
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) setInternalChecked(nextChecked);
181
+ if (!isControlled) {
182
+ animateTo(nextChecked);
183
+ setInternalChecked(nextChecked);
184
+ }
99
185
  onCheckedChange?.(nextChecked);
100
186
  };
101
- const trackBackgroundColor = disabled ? trackDisabled : isChecked ? trackOn : trackOff;
102
- const trackBorderColor = disabled || !isChecked ? trackBorder : "transparent";
103
- const thumbBackgroundColor = disabled ? thumbDisabled : hasIcons ? "transparent" : isChecked ? thumbOn : thumbOff;
104
- const rootStyle = {
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: 2,
111
- alignItems: "flex-start",
112
- justifyContent: "center",
113
- backgroundColor: trackBackgroundColor,
114
- borderColor: trackBorderColor
115
- };
116
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(SwitchPrimitive.Root, {
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
234
  }), className),
126
- ...props,
127
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(SwitchPrimitive.Thumb, {
128
- asChild: true,
129
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
130
- style: [thumbStyle, {
131
- width: thumbSize,
132
- height: thumbSize,
133
- borderRadius: thumbSize / 2,
134
- backgroundColor: thumbBackgroundColor
135
- }],
136
- children: hasIcons ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
137
- className: "flex-1 items-center justify-center",
138
- children: [isChecked && checkedIcon, !isChecked && uncheckedIcon]
139
- }) : null
140
- })
141
- })
235
+ style: state => [baseRootStyle, typeof style === "function" ? style(state) : style],
236
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
237
+ pointerEvents: "none",
238
+ style: [trackStyle, trackMotionStyle]
239
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
240
+ pointerEvents: "none",
241
+ collapsable: false,
242
+ style: [thumbStyle, thumbMotionStyle, thumbColorStyle],
243
+ children: hasIcons ? /*#__PURE__*/(0, _jsxRuntime.jsx)(SwitchThumbIcons, {
244
+ progress: progress,
245
+ checkedIcon: checkedIcon,
246
+ uncheckedIcon: uncheckedIcon,
247
+ checkedIconColor: checkedIconColor,
248
+ uncheckedIconColor: uncheckedIconColor,
249
+ iconSize: iconSize
250
+ }) : null
251
+ })]
142
252
  });
143
- }
253
+ });
144
254
  //# 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","state","pointerEvents","collapsable"],"sourceRoot":"../../../src","sources":["components/Switch.tsx"],"mappings":"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","ignoreList":[]}