@multiplatform.one/forms 7.35.0 → 7.37.0
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/cjs/Wheel/{WheelEdgeFade.cjs → NativeWheel.cjs} +5 -5
- package/dist/cjs/Wheel/NativeWheel.native.js +408 -0
- package/dist/cjs/Wheel/NativeWheel.native.js.map +1 -0
- package/dist/cjs/Wheel/haptic.cjs +3 -4
- package/dist/cjs/Wheel/haptic.native.js +4 -5
- package/dist/cjs/Wheel/haptic.native.js.map +1 -1
- package/dist/cjs/Wheel/index.cjs +62 -218
- package/dist/cjs/Wheel/index.native.js +54 -228
- package/dist/cjs/Wheel/index.native.js.map +1 -1
- package/dist/cjs/Wheel/wheelShared.cjs +156 -0
- package/dist/cjs/Wheel/wheelShared.native.js +169 -0
- package/dist/cjs/Wheel/wheelShared.native.js.map +1 -0
- package/dist/cjs/shared/TimeColumn.cjs +0 -9
- package/dist/cjs/shared/TimeColumn.native.js +0 -9
- package/dist/cjs/shared/TimeColumn.native.js.map +1 -1
- package/dist/esm/Wheel/NativeWheel.mjs +5 -0
- package/dist/esm/Wheel/NativeWheel.mjs.map +1 -0
- package/dist/esm/Wheel/NativeWheel.native.js +380 -0
- package/dist/esm/Wheel/NativeWheel.native.js.map +1 -0
- package/dist/esm/Wheel/haptic.mjs +3 -4
- package/dist/esm/Wheel/haptic.mjs.map +1 -1
- package/dist/esm/Wheel/haptic.native.js +4 -5
- package/dist/esm/Wheel/haptic.native.js.map +1 -1
- package/dist/esm/Wheel/index.mjs +49 -205
- package/dist/esm/Wheel/index.mjs.map +1 -1
- package/dist/esm/Wheel/index.native.js +41 -215
- package/dist/esm/Wheel/index.native.js.map +1 -1
- package/dist/esm/Wheel/wheelShared.mjs +119 -0
- package/dist/esm/Wheel/wheelShared.mjs.map +1 -0
- package/dist/esm/Wheel/wheelShared.native.js +129 -0
- package/dist/esm/Wheel/wheelShared.native.js.map +1 -0
- package/dist/esm/shared/TimeColumn.mjs +0 -9
- package/dist/esm/shared/TimeColumn.mjs.map +1 -1
- package/dist/esm/shared/TimeColumn.native.js +0 -9
- package/dist/esm/shared/TimeColumn.native.js.map +1 -1
- package/dist/jsx/Wheel/NativeWheel.mjs +5 -0
- package/dist/jsx/Wheel/NativeWheel.mjs.map +1 -0
- package/dist/jsx/Wheel/NativeWheel.native.js +408 -0
- package/dist/jsx/Wheel/NativeWheel.native.js.map +1 -0
- package/dist/jsx/Wheel/haptic.mjs +3 -4
- package/dist/jsx/Wheel/haptic.mjs.map +1 -1
- package/dist/jsx/Wheel/haptic.native.js +4 -5
- package/dist/jsx/Wheel/haptic.native.js.map +1 -1
- package/dist/jsx/Wheel/index.mjs +49 -205
- package/dist/jsx/Wheel/index.mjs.map +1 -1
- package/dist/jsx/Wheel/index.native.js +54 -228
- package/dist/jsx/Wheel/index.native.js.map +1 -1
- package/dist/jsx/Wheel/wheelShared.mjs +119 -0
- package/dist/jsx/Wheel/wheelShared.mjs.map +1 -0
- package/dist/jsx/Wheel/wheelShared.native.js +169 -0
- package/dist/jsx/Wheel/wheelShared.native.js.map +1 -0
- package/dist/jsx/shared/TimeColumn.mjs +0 -9
- package/dist/jsx/shared/TimeColumn.mjs.map +1 -1
- package/dist/jsx/shared/TimeColumn.native.js +0 -9
- package/dist/jsx/shared/TimeColumn.native.js.map +1 -1
- package/package.json +8 -8
- package/src/Wheel/NativeWheel.native.spec.tsx +181 -0
- package/src/Wheel/NativeWheel.native.tsx +430 -0
- package/src/Wheel/NativeWheel.tsx +6 -0
- package/src/Wheel/haptic.ts +9 -8
- package/src/Wheel/index.tsx +121 -363
- package/src/Wheel/wheelShared.spec.ts +53 -0
- package/src/Wheel/wheelShared.ts +222 -0
- package/src/shared/TimeColumn.tsx +0 -7
- package/types/Wheel/NativeWheel.d.ts +4 -0
- package/types/Wheel/NativeWheel.d.ts.map +1 -0
- package/types/Wheel/NativeWheel.native.d.ts +9 -0
- package/types/Wheel/NativeWheel.native.d.ts.map +1 -0
- package/types/Wheel/haptic.d.ts +4 -2
- package/types/Wheel/haptic.d.ts.map +1 -1
- package/types/Wheel/index.d.ts +4 -49
- package/types/Wheel/index.d.ts.map +1 -1
- package/types/Wheel/wheelShared.d.ts +87 -0
- package/types/Wheel/wheelShared.d.ts.map +1 -0
- package/types/shared/TimeColumn.d.ts.map +1 -1
- package/dist/cjs/Wheel/WheelEdgeFade.native.js +0 -116
- package/dist/cjs/Wheel/WheelEdgeFade.native.js.map +0 -1
- package/dist/esm/Wheel/WheelEdgeFade.mjs +0 -5
- package/dist/esm/Wheel/WheelEdgeFade.mjs.map +0 -1
- package/dist/esm/Wheel/WheelEdgeFade.native.js +0 -88
- package/dist/esm/Wheel/WheelEdgeFade.native.js.map +0 -1
- package/dist/jsx/Wheel/WheelEdgeFade.mjs +0 -5
- package/dist/jsx/Wheel/WheelEdgeFade.mjs.map +0 -1
- package/dist/jsx/Wheel/WheelEdgeFade.native.js +0 -116
- package/dist/jsx/Wheel/WheelEdgeFade.native.js.map +0 -1
- package/src/Wheel/WheelEdgeFade.native.tsx +0 -67
- package/src/Wheel/WheelEdgeFade.spec.tsx +0 -141
- package/src/Wheel/WheelEdgeFade.tsx +0 -7
- package/types/Wheel/WheelEdgeFade.d.ts +0 -8
- package/types/Wheel/WheelEdgeFade.d.ts.map +0 -1
- package/types/Wheel/WheelEdgeFade.native.d.ts +0 -8
- package/types/Wheel/WheelEdgeFade.native.d.ts.map +0 -1
|
@@ -1,31 +1,15 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import { motionDurationMs } from "@multiplatform.one/theme";
|
|
3
2
|
import { useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
4
|
-
import {
|
|
5
|
-
import { sizeTokenStep, useResolvedKnobs } from "@multiplatform.one/theme";
|
|
6
|
-
import { View, getTokens, isWeb, styled, Text } from "tamagui";
|
|
3
|
+
import { View, isWeb, styled, Text } from "tamagui";
|
|
7
4
|
import { t } from "../shared/t.native.js";
|
|
8
5
|
import { fireSelectionHaptic } from "./haptic.native.js";
|
|
9
|
-
import {
|
|
10
|
-
|
|
11
|
-
"@swc/helpers - typeof";
|
|
12
|
-
|
|
13
|
-
return obj && typeof Symbol !== "undefined" && obj.constructor === Symbol ? "symbol" : typeof obj;
|
|
14
|
-
}
|
|
6
|
+
import { NativeWheel } from "./NativeWheel.native.js";
|
|
7
|
+
import { defaultColumnWidth, drumPose, drumReachRows, getItemLabel, getItemValue, modIndex, nearestRowForDataIndex, useWheelLayout } from "./wheelShared.native.js";
|
|
15
8
|
var friction = 0.95;
|
|
16
9
|
var minVelocity = 0.5;
|
|
17
10
|
var momentumMultiplier = 0.8;
|
|
18
11
|
var rubberBandConstant = 0.55;
|
|
19
12
|
var tapSlopPx = 8;
|
|
20
|
-
var diameterRatio = 1.07;
|
|
21
|
-
var squeeze = 1.45;
|
|
22
|
-
var perspectivePx = 400;
|
|
23
|
-
var defaultColumnWidth = 88;
|
|
24
|
-
var wheelFontByStep = {
|
|
25
|
-
[-1]: "$6",
|
|
26
|
-
0: "$8",
|
|
27
|
-
1: "$9"
|
|
28
|
-
};
|
|
29
13
|
var WHEEL_FOCUS_STYLE_ID = "mp1-wheel-focus";
|
|
30
14
|
function ensureWheelFocusStyles() {
|
|
31
15
|
if (!isWeb || typeof document === "undefined") return;
|
|
@@ -61,28 +45,6 @@ var SelectionIndicator = styled(View, {
|
|
|
61
45
|
right: 0,
|
|
62
46
|
pointerEvents: "none"
|
|
63
47
|
});
|
|
64
|
-
function normalizeItem(item) {
|
|
65
|
-
if ((typeof item === "undefined" ? "undefined" : _type_of(item)) === "object" && item !== null && "value" in item) {
|
|
66
|
-
return item;
|
|
67
|
-
}
|
|
68
|
-
return {
|
|
69
|
-
value: item,
|
|
70
|
-
label: String(item)
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
function getItemLabel(item) {
|
|
74
|
-
var _normalized_label;
|
|
75
|
-
var normalized = normalizeItem(item);
|
|
76
|
-
return (_normalized_label = normalized.label) !== null && _normalized_label !== void 0 ? _normalized_label : String(normalized.value);
|
|
77
|
-
}
|
|
78
|
-
function getItemValue(item) {
|
|
79
|
-
var normalized = normalizeItem(item);
|
|
80
|
-
return normalized.value;
|
|
81
|
-
}
|
|
82
|
-
function modIndex(row, n) {
|
|
83
|
-
if (n <= 0) return 0;
|
|
84
|
-
return (row % n + n) % n;
|
|
85
|
-
}
|
|
86
48
|
function equivalentOffsetNear(referenceOffset, targetOffset, n, itemHeight) {
|
|
87
49
|
if (n <= 0 || itemHeight <= 0) return targetOffset;
|
|
88
50
|
var rT = Math.round(targetOffset / itemHeight);
|
|
@@ -92,13 +54,6 @@ function equivalentOffsetNear(referenceOffset, targetOffset, n, itemHeight) {
|
|
|
92
54
|
var k = Math.round((referenceOffset - base) / span);
|
|
93
55
|
return base + k * span;
|
|
94
56
|
}
|
|
95
|
-
function nearestRowForDataIndex(currentRow, targetDataIndex, n) {
|
|
96
|
-
var currentMod = modIndex(currentRow, n);
|
|
97
|
-
var delta = targetDataIndex - currentMod;
|
|
98
|
-
if (delta > n / 2) delta -= n;
|
|
99
|
-
if (delta < -n / 2) delta += n;
|
|
100
|
-
return currentRow + delta;
|
|
101
|
-
}
|
|
102
57
|
function rubberBand(offset, dimension) {
|
|
103
58
|
var c = rubberBandConstant;
|
|
104
59
|
var x = Math.abs(offset);
|
|
@@ -106,69 +61,45 @@ function rubberBand(offset, dimension) {
|
|
|
106
61
|
return offset < 0 ? -result : result;
|
|
107
62
|
}
|
|
108
63
|
function getItemTransform(index, scrollOffset, itemHeight, containerHeight) {
|
|
109
|
-
var
|
|
110
|
-
var angle = (index * itemHeight - scrollOffset) / squeeze / Math.max(radius, 1);
|
|
111
|
-
var clamped = Math.max(-Math.PI / 2, Math.min(Math.PI / 2, angle));
|
|
112
|
-
var centerTop = (containerHeight - itemHeight) / 2;
|
|
113
|
-
var translateY = centerTop + radius * Math.sin(clamped);
|
|
114
|
-
var rotateX = -(clamped * 180) / Math.PI;
|
|
115
|
-
var scale = Math.max(0.72, Math.min(1, Math.cos(clamped)));
|
|
64
|
+
var pose = drumPose(index - scrollOffset / itemHeight, itemHeight, containerHeight);
|
|
116
65
|
return {
|
|
117
|
-
translateY,
|
|
118
|
-
rotateX,
|
|
119
|
-
scale,
|
|
66
|
+
translateY: (containerHeight - itemHeight) / 2 + pose.offset,
|
|
67
|
+
rotateX: pose.rotateX,
|
|
68
|
+
scale: pose.scale,
|
|
120
69
|
opacity: 1
|
|
121
70
|
};
|
|
122
71
|
}
|
|
123
|
-
function
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
return scale === "radius" ? 9 : 8;
|
|
130
|
-
}
|
|
131
|
-
function highlightBandStyle(edges, radiusToken, pointy) {
|
|
132
|
-
var r = pointy ? 0 : tokenPx(radiusToken, "radius");
|
|
133
|
-
var inset = tokenPx("$2", "space");
|
|
134
|
-
var capStart = edges === "all" || edges === "start";
|
|
135
|
-
var capEnd = edges === "all" || edges === "end";
|
|
136
|
-
return {
|
|
137
|
-
borderStartStartRadius: capStart ? r : 0,
|
|
138
|
-
borderStartEndRadius: capEnd ? r : 0,
|
|
139
|
-
borderEndStartRadius: capStart ? r : 0,
|
|
140
|
-
borderEndEndRadius: capEnd ? r : 0,
|
|
141
|
-
marginInlineStart: capStart ? inset : 0,
|
|
142
|
-
marginInlineEnd: capEnd ? inset : 0
|
|
143
|
-
};
|
|
72
|
+
function Wheel(props) {
|
|
73
|
+
return isWeb ? /* @__PURE__ */_jsx(WebWheel, {
|
|
74
|
+
...props
|
|
75
|
+
}) : /* @__PURE__ */_jsx(NativeWheel, {
|
|
76
|
+
...props
|
|
77
|
+
});
|
|
144
78
|
}
|
|
145
|
-
function
|
|
79
|
+
function WebWheel(props) {
|
|
146
80
|
var {
|
|
147
81
|
items,
|
|
148
82
|
value,
|
|
149
83
|
onChange,
|
|
150
84
|
visibleItems = 5,
|
|
151
|
-
itemHeight: itemHeightProp,
|
|
152
85
|
width: widthProp,
|
|
153
86
|
renderItem,
|
|
154
87
|
disabled = false,
|
|
155
|
-
size: sizeProp,
|
|
156
88
|
loop = false,
|
|
157
|
-
highlightEdges = "all",
|
|
158
89
|
flex,
|
|
159
90
|
onItemCross,
|
|
160
91
|
"aria-label": ariaLabel
|
|
161
|
-
} =
|
|
162
|
-
var _ref;
|
|
92
|
+
} = props;
|
|
163
93
|
var {
|
|
164
|
-
knobProps
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
94
|
+
knobProps,
|
|
95
|
+
size,
|
|
96
|
+
itemHeight,
|
|
97
|
+
snapDurationMs,
|
|
98
|
+
highlightStyle,
|
|
99
|
+
highlightClassName
|
|
100
|
+
} = useWheelLayout(props);
|
|
168
101
|
var columnWidth = widthProp !== null && widthProp !== void 0 ? widthProp : defaultColumnWidth;
|
|
169
102
|
ensureWheelFocusStyles();
|
|
170
|
-
var motionTransition = knobProps.motion.control.transition;
|
|
171
|
-
var snapDurationMs = motionDurationMs(motionTransition);
|
|
172
103
|
var containerRef = useRef(null);
|
|
173
104
|
var [scrollOffset, setScrollOffset] = useState(0);
|
|
174
105
|
var [selectedIndex, setSelectedIndex] = useState(0);
|
|
@@ -407,11 +338,11 @@ function Wheel(param) {
|
|
|
407
338
|
containerRef.current.style.cursor = disabled ? "not-allowed" : "grab";
|
|
408
339
|
}
|
|
409
340
|
if (dragDistanceRef.current < tapSlopPx) {
|
|
410
|
-
var
|
|
341
|
+
var _ref;
|
|
411
342
|
var _containerRef_current;
|
|
412
343
|
var localY = e.locationY;
|
|
413
344
|
var rect = (_containerRef_current = containerRef.current) === null || _containerRef_current === void 0 ? void 0 : _containerRef_current.getBoundingClientRect();
|
|
414
|
-
var tapY = typeof localY === "number" ? localY : e.clientY - ((
|
|
345
|
+
var tapY = typeof localY === "number" ? localY : e.clientY - ((_ref = rect === null || rect === void 0 ? void 0 : rect.top) !== null && _ref !== void 0 ? _ref : 0);
|
|
415
346
|
var tapped = hitTestDataIndex(tapY);
|
|
416
347
|
if (tapped != null) {
|
|
417
348
|
snapToIndex(tapped, true);
|
|
@@ -432,59 +363,6 @@ function Wheel(param) {
|
|
|
432
363
|
snapToNearestRow(true);
|
|
433
364
|
}
|
|
434
365
|
}, [snapToNearestRow, startMomentum, hitTestDataIndex, snapToIndex, disabled]);
|
|
435
|
-
var disabledRef = useRef(disabled);
|
|
436
|
-
disabledRef.current = disabled;
|
|
437
|
-
var pointerDownRef = useRef(handlePointerDown);
|
|
438
|
-
pointerDownRef.current = handlePointerDown;
|
|
439
|
-
var pointerMoveRef = useRef(handlePointerMove);
|
|
440
|
-
pointerMoveRef.current = handlePointerMove;
|
|
441
|
-
var pointerUpRef = useRef(handlePointerUp);
|
|
442
|
-
pointerUpRef.current = handlePointerUp;
|
|
443
|
-
var panResponder = useMemo(function () {
|
|
444
|
-
if (isWeb) return {
|
|
445
|
-
panHandlers: {}
|
|
446
|
-
};
|
|
447
|
-
return PanResponder.create({
|
|
448
|
-
onStartShouldSetPanResponder: function onStartShouldSetPanResponder() {
|
|
449
|
-
return !disabledRef.current;
|
|
450
|
-
},
|
|
451
|
-
onMoveShouldSetPanResponder: function onMoveShouldSetPanResponder(_, gesture) {
|
|
452
|
-
return Math.abs(gesture.dy) > 1;
|
|
453
|
-
},
|
|
454
|
-
onPanResponderTerminationRequest: function onPanResponderTerminationRequest() {
|
|
455
|
-
return false;
|
|
456
|
-
},
|
|
457
|
-
onShouldBlockNativeResponder: function onShouldBlockNativeResponder() {
|
|
458
|
-
return true;
|
|
459
|
-
},
|
|
460
|
-
onPanResponderGrant: function onPanResponderGrant(evt) {
|
|
461
|
-
pointerDownRef.current({
|
|
462
|
-
clientY: evt.nativeEvent.pageY,
|
|
463
|
-
pointerId: 1
|
|
464
|
-
});
|
|
465
|
-
},
|
|
466
|
-
onPanResponderMove: function onPanResponderMove(evt) {
|
|
467
|
-
pointerMoveRef.current({
|
|
468
|
-
clientY: evt.nativeEvent.pageY,
|
|
469
|
-
pointerId: 1
|
|
470
|
-
});
|
|
471
|
-
},
|
|
472
|
-
onPanResponderRelease: function onPanResponderRelease(evt) {
|
|
473
|
-
pointerUpRef.current({
|
|
474
|
-
clientY: evt.nativeEvent.pageY,
|
|
475
|
-
pointerId: 1,
|
|
476
|
-
locationY: evt.nativeEvent.locationY
|
|
477
|
-
});
|
|
478
|
-
},
|
|
479
|
-
onPanResponderTerminate: function onPanResponderTerminate(evt) {
|
|
480
|
-
pointerUpRef.current({
|
|
481
|
-
clientY: evt.nativeEvent.pageY,
|
|
482
|
-
pointerId: 1,
|
|
483
|
-
locationY: evt.nativeEvent.locationY
|
|
484
|
-
});
|
|
485
|
-
}
|
|
486
|
-
});
|
|
487
|
-
}, []);
|
|
488
366
|
var handleWheel = useCallback(function (e) {
|
|
489
367
|
if (disabled) return;
|
|
490
368
|
e.preventDefault();
|
|
@@ -574,36 +452,22 @@ function Wheel(param) {
|
|
|
574
452
|
}, []);
|
|
575
453
|
var renderRows = useMemo(function () {
|
|
576
454
|
if (n === 0) return [];
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
}
|
|
587
|
-
return list;
|
|
455
|
+
var span = Math.ceil(drumReachRows(itemHeight, containerHeight));
|
|
456
|
+
var centerRow = Math.round(scrollOffset / itemHeight);
|
|
457
|
+
var first = loopEnabled ? centerRow - span : Math.max(0, centerRow - span);
|
|
458
|
+
var last = loopEnabled ? centerRow + span : Math.min(n - 1, centerRow + span);
|
|
459
|
+
var list = [];
|
|
460
|
+
for (var vr = first; vr <= last; vr++) {
|
|
461
|
+
list.push({
|
|
462
|
+
virtualRow: vr,
|
|
463
|
+
dataIndex: modIndex(vr, n)
|
|
464
|
+
});
|
|
588
465
|
}
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
return Array.from({
|
|
592
|
-
length: end - start + 1
|
|
593
|
-
}, function (_, i) {
|
|
594
|
-
var virtualRow = start + i;
|
|
595
|
-
return {
|
|
596
|
-
virtualRow,
|
|
597
|
-
dataIndex: virtualRow
|
|
598
|
-
};
|
|
599
|
-
});
|
|
600
|
-
}, [n, loopEnabled, scrollOffset, itemHeight, paddingItems, containerHeight]);
|
|
466
|
+
return list;
|
|
467
|
+
}, [n, loopEnabled, scrollOffset, itemHeight, containerHeight]);
|
|
601
468
|
var itemColor = function itemColor2(isSelected) {
|
|
602
469
|
return disabled ? "$color10" : isSelected ? "$color12" : "$color11";
|
|
603
470
|
};
|
|
604
|
-
var radiusToken = knobProps.borderRadius.borderRadius;
|
|
605
|
-
var highlightStyle = highlightBandStyle(highlightEdges, radiusToken, Boolean(knobProps.pointy));
|
|
606
|
-
var highlightSmoothClass = "className" in knobProps.borderRadius && typeof knobProps.borderRadius.className === "string" ? knobProps.borderRadius.className : void 0;
|
|
607
471
|
var renderItemNode = function renderItemNode2(dataIndex, isSelected) {
|
|
608
472
|
var item = items[dataIndex];
|
|
609
473
|
var itemValue = getItemValue(item);
|
|
@@ -630,14 +494,14 @@ function Wheel(param) {
|
|
|
630
494
|
opacity: 1,
|
|
631
495
|
children: [/* iOS 14+ selection fill — LC-71 selected=fill, never hairline borders */
|
|
632
496
|
/* @__PURE__ */_jsx(SelectionIndicator, {
|
|
633
|
-
className:
|
|
497
|
+
className: highlightClassName,
|
|
634
498
|
backgroundColor: "$color4",
|
|
635
499
|
top: paddingItems * itemHeight,
|
|
636
500
|
height: itemHeight,
|
|
637
501
|
style: highlightStyle,
|
|
638
502
|
"data-testid": "wheel-selection"
|
|
639
503
|
}), /* Interactive container */
|
|
640
|
-
|
|
504
|
+
/* @__PURE__ */_jsx("div", {
|
|
641
505
|
ref: containerRef,
|
|
642
506
|
className: "mp1-wheel-wrapper",
|
|
643
507
|
tabIndex: disabled ? -1 : 0,
|
|
@@ -654,7 +518,7 @@ function Wheel(param) {
|
|
|
654
518
|
width: "100%",
|
|
655
519
|
height: containerHeight,
|
|
656
520
|
position: "relative",
|
|
657
|
-
perspective: `${
|
|
521
|
+
perspective: `${containerHeight * 4}px`,
|
|
658
522
|
perspectiveOrigin: "center center",
|
|
659
523
|
overflow: "hidden",
|
|
660
524
|
userSelect: "none",
|
|
@@ -668,11 +532,11 @@ function Wheel(param) {
|
|
|
668
532
|
onPointerCancel: handlePointerUp,
|
|
669
533
|
onKeyDown: handleKeyDown,
|
|
670
534
|
"data-testid": "wheel-wrapper",
|
|
671
|
-
children: renderRows.map(function (
|
|
535
|
+
children: renderRows.map(function (param) {
|
|
672
536
|
var {
|
|
673
537
|
virtualRow,
|
|
674
538
|
dataIndex
|
|
675
|
-
} =
|
|
539
|
+
} = param;
|
|
676
540
|
var isSelected = dataIndex === liveDataIndex;
|
|
677
541
|
var transform = getItemTransform(virtualRow, scrollOffset, itemHeight, containerHeight);
|
|
678
542
|
if (Math.abs(transform.rotateX) > 85) return null;
|
|
@@ -699,44 +563,6 @@ function Wheel(param) {
|
|
|
699
563
|
children: renderItemNode(dataIndex, isSelected)
|
|
700
564
|
}, `${dataIndex}-${virtualRow}`);
|
|
701
565
|
})
|
|
702
|
-
}) : /* @__PURE__ */_jsxs(View, {
|
|
703
|
-
width: "100%",
|
|
704
|
-
height: containerHeight,
|
|
705
|
-
position: "relative",
|
|
706
|
-
overflow: "hidden",
|
|
707
|
-
cursor: disabled ? "not-allowed" : "grab",
|
|
708
|
-
"data-testid": "wheel-wrapper",
|
|
709
|
-
"data-disabled": disabled ? true : void 0,
|
|
710
|
-
"aria-disabled": disabled || void 0,
|
|
711
|
-
...panResponder.panHandlers,
|
|
712
|
-
children: [renderRows.map(function (param2) {
|
|
713
|
-
var {
|
|
714
|
-
virtualRow,
|
|
715
|
-
dataIndex
|
|
716
|
-
} = param2;
|
|
717
|
-
var isSelected = dataIndex === liveDataIndex;
|
|
718
|
-
var transform = getItemTransform(virtualRow, scrollOffset, itemHeight, containerHeight);
|
|
719
|
-
if (Math.abs(transform.rotateX) > 85) return null;
|
|
720
|
-
return /* @__PURE__ */_jsx(View, {
|
|
721
|
-
position: "absolute",
|
|
722
|
-
left: 0,
|
|
723
|
-
right: 0,
|
|
724
|
-
height: itemHeight,
|
|
725
|
-
alignItems: "center",
|
|
726
|
-
justifyContent: "center",
|
|
727
|
-
opacity: transform.opacity,
|
|
728
|
-
pointerEvents: "none",
|
|
729
|
-
y: transform.translateY,
|
|
730
|
-
scale: transform.scale,
|
|
731
|
-
rotateX: `${transform.rotateX}deg`,
|
|
732
|
-
"data-testid": "wheel-item",
|
|
733
|
-
"data-index": dataIndex,
|
|
734
|
-
"data-selected": isSelected ? true : void 0,
|
|
735
|
-
children: renderItemNode(dataIndex, isSelected)
|
|
736
|
-
}, `${dataIndex}-${virtualRow}`);
|
|
737
|
-
}), /* @__PURE__ */_jsx(WheelEdgeFade, {
|
|
738
|
-
height: paddingItems * itemHeight
|
|
739
|
-
})]
|
|
740
566
|
})]
|
|
741
567
|
});
|
|
742
568
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","motionDurationMs","useCallback","useEffect","useMemo","useRef","useState","PanResponder","sizeTokenStep","useResolvedKnobs","View","getTokens","isWeb","styled","Text","t","fireSelectionHaptic","WheelEdgeFade","_type_of","obj","Symbol","constructor","friction","minVelocity","momentumMultiplier","rubberBandConstant","tapSlopPx","diameterRatio","squeeze","perspectivePx","defaultColumnWidth","wheelFontByStep","WHEEL_FOCUS_STYLE_ID","ensureWheelFocusStyles","document","getElementById","style","createElement","id","textContent","head","appendChild","wheelMaskStyle","WebkitMaskImage","maskImage","WheelContainer","name","position","overflow","userSelect","WheelItemContainer","left","right","alignItems","justifyContent","SelectionIndicator","pointerEvents","normalizeItem","item","value","label","String","getItemLabel","_normalized_label","normalized","getItemValue","modIndex","row","n","equivalentOffsetNear","referenceOffset","targetOffset","itemHeight","rT","Math","round","m","span","base","k","nearestRowForDataIndex","currentRow","targetDataIndex","currentMod","delta","rubberBand","offset","dimension","c","x","abs","result","getItemTransform","index","scrollOffset","containerHeight","radius","angle","max","clamped","PI","min","centerTop","translateY","sin","rotateX","scale","cos","opacity","tokenPx","token","_getTokens_scale_key","_getTokens_scale","key","replace","val","highlightBandStyle","edges","radiusToken","pointy","r","inset","capStart","capEnd","borderStartStartRadius","borderStartEndRadius","borderEndStartRadius","borderEndEndRadius","marginInlineStart","marginInlineEnd","Wheel","param","items","onChange","visibleItems","itemHeightProp","width","widthProp","renderItem","disabled","size","sizeProp","loop","highlightEdges","flex","onItemCross","ariaLabel","_ref","knobProps","sizeToken","nestedControl","px","columnWidth","motionTransition","motion","control","transition","snapDurationMs","containerRef","setScrollOffset","selectedIndex","setSelectedIndex","length","loopEnabled","Boolean","scrollOffsetRef","current","animationRef","isAnimatingRef","hasMountedRef","selectedIndexRef","isDraggingRef","lastYRef","downYRef","dragDistanceRef","lastTimeRef","dragVelocitiesRef","paddingItems","floor","minOffset","maxOffset","liveDataIndex","lastCrossIndexRef","onItemCrossRef","_onItemCrossRef_current","call","runSnapComplete","finalOffset","dataIndex","safeIdx","settled","animateToOffset","animated","startOffset","goal","distance","duration","startTime","performance","now","animate","animate1","currentTime","elapsed","progress","eased","pow","newOffset","requestAnimationFrame","cancelAnimationFrame","snapToIndex","targetIndex","arguments","clampedData","currentR","targetR","targetOffset1","dataIdx","findIndex","raw","snapToNearestRow","dataIdx1","hitTestDataIndex","tapY","centerRow","rowBuffer","best","vr","dist","startMomentum","initialVelocity","velocity","handlePointerDown","e","clientY","setPointerCapture","pointerId","cursor","handlePointerMove","currentY","deltaY","deltaTime","push","shift","handlePointerUp","releasePointerCapture","unused","_ref2","_containerRef_current","localY","locationY","rect","getBoundingClientRect","top","tapped","velocities","avgVelocity","reduce","a","b","disabledRef","pointerDownRef","pointerMoveRef","pointerUpRef","panResponder","panHandlers","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","_","gesture","dy","onPanResponderTerminationRequest","onShouldBlockNativeResponder","onPanResponderGrant","evt","nativeEvent","pageY","onPanResponderMove","onPanResponderRelease","onPanResponderTerminate","handleWheel","preventDefault","currentOffset","setTimeout","handleKeyDown","newIndex","newIndex1","container","wheelHandler","wheelHandler2","addEventListener","passive","removeEventListener","renderRows","list","virtualRow","start","end","ceil","Array","from","i","itemColor","itemColor2","isSelected","borderRadius","highlightStyle","highlightSmoothClass","className","renderItemNode","renderItemNode2","itemValue","body","fontSize","color","numberOfLines","ellipsizeMode","maxWidth","paddingHorizontal","children","height","minWidth","backgroundColor","ref","tabIndex","role","perspective","perspectiveOrigin","touchAction","onPointerDown","onPointerMove","onPointerUp","onPointerCancel","onKeyDown","map","param2","transform","display"],"sources":["../../../src/Wheel/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["jsx","_jsx","jsxs","_jsxs","useCallback","useEffect","useMemo","useRef","useState","View","isWeb","styled","Text","t","fireSelectionHaptic","NativeWheel","defaultColumnWidth","drumPose","drumReachRows","getItemLabel","getItemValue","modIndex","nearestRowForDataIndex","useWheelLayout","friction","minVelocity","momentumMultiplier","rubberBandConstant","tapSlopPx","WHEEL_FOCUS_STYLE_ID","ensureWheelFocusStyles","document","getElementById","style","createElement","id","textContent","head","appendChild","wheelMaskStyle","WebkitMaskImage","maskImage","WheelContainer","name","position","overflow","userSelect","WheelItemContainer","left","right","alignItems","justifyContent","SelectionIndicator","pointerEvents","equivalentOffsetNear","referenceOffset","targetOffset","n","itemHeight","rT","Math","round","m","span","base","k","rubberBand","offset","dimension","c","x","abs","result","getItemTransform","index","scrollOffset","containerHeight","pose","translateY","rotateX","scale","opacity","Wheel","props","WebWheel","items","value","onChange","visibleItems","width","widthProp","renderItem","disabled","loop","flex","onItemCross","ariaLabel","knobProps","size","snapDurationMs","highlightStyle","highlightClassName","columnWidth","containerRef","setScrollOffset","selectedIndex","setSelectedIndex","length","loopEnabled","Boolean","scrollOffsetRef","current","animationRef","isAnimatingRef","hasMountedRef","selectedIndexRef","isDraggingRef","lastYRef","downYRef","dragDistanceRef","lastTimeRef","dragVelocitiesRef","paddingItems","floor","minOffset","maxOffset","liveDataIndex","max","min","lastCrossIndexRef","onItemCrossRef","_onItemCrossRef_current","item","call","runSnapComplete","finalOffset","dataIndex","safeIdx","settled","animateToOffset","animated","startOffset","goal","distance","duration","startTime","performance","now","animate","animate1","currentTime","elapsed","progress","eased","pow","newOffset","requestAnimationFrame","cancelAnimationFrame","snapToIndex","targetIndex","arguments","clampedData","currentR","targetR","targetOffset1","dataIdx","findIndex","raw","snapToNearestRow","r","dataIdx1","hitTestDataIndex","tapY","centerRow","rowBuffer","best","vr","dist","startMomentum","initialVelocity","velocity","handlePointerDown","e","clientY","setPointerCapture","pointerId","cursor","handlePointerMove","currentY","deltaY","deltaTime","push","shift","handlePointerUp","releasePointerCapture","unused","_ref","_containerRef_current","localY","locationY","rect","getBoundingClientRect","top","tapped","velocities","avgVelocity","reduce","a","b","handleWheel","preventDefault","delta","currentOffset","setTimeout","handleKeyDown","key","newIndex","newIndex1","container","wheelHandler","wheelHandler2","addEventListener","passive","removeEventListener","renderRows","ceil","first","last","list","virtualRow","itemColor","itemColor2","isSelected","renderItemNode","renderItemNode2","itemValue","body","fontSize","color","numberOfLines","ellipsizeMode","maxWidth","paddingHorizontal","children","height","minWidth","className","backgroundColor","ref","tabIndex","role","perspective","perspectiveOrigin","touchAction"],"sources":["../../../src/Wheel/index.tsx"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { motionDurationMs, sizeTokenStep, useResolvedKnobs } from "@multiplatform.one/theme";
|
|
2
|
+
import { getConfig, getTokens } from "tamagui";
|
|
3
|
+
const defaultColumnWidth = 88;
|
|
4
|
+
const wheelFontByStep = {
|
|
5
|
+
[-1]: "$6",
|
|
6
|
+
0: "$8",
|
|
7
|
+
1: "$9"
|
|
8
|
+
};
|
|
9
|
+
const edgeAngle = 80 * Math.PI / 180;
|
|
10
|
+
function normalizeItem(item) {
|
|
11
|
+
if (typeof item === "object" && item !== null && "value" in item) {
|
|
12
|
+
return item;
|
|
13
|
+
}
|
|
14
|
+
return {
|
|
15
|
+
value: item,
|
|
16
|
+
label: String(item)
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
function getItemLabel(item) {
|
|
20
|
+
const normalized = normalizeItem(item);
|
|
21
|
+
return normalized.label ?? String(normalized.value);
|
|
22
|
+
}
|
|
23
|
+
function getItemValue(item) {
|
|
24
|
+
return normalizeItem(item).value;
|
|
25
|
+
}
|
|
26
|
+
function modIndex(row, n) {
|
|
27
|
+
if (n <= 0) return 0;
|
|
28
|
+
return (row % n + n) % n;
|
|
29
|
+
}
|
|
30
|
+
function nearestRowForDataIndex(currentRow, targetDataIndex, n) {
|
|
31
|
+
const currentMod = modIndex(currentRow, n);
|
|
32
|
+
let delta = targetDataIndex - currentMod;
|
|
33
|
+
if (delta > n / 2) delta -= n;
|
|
34
|
+
if (delta < -n / 2) delta += n;
|
|
35
|
+
return currentRow + delta;
|
|
36
|
+
}
|
|
37
|
+
function drumRadius(frameHeight) {
|
|
38
|
+
return frameHeight / 2 / Math.sin(edgeAngle);
|
|
39
|
+
}
|
|
40
|
+
function drumReachRows(itemHeight, frameHeight) {
|
|
41
|
+
return drumRadius(frameHeight) * (Math.PI / 2) / Math.max(itemHeight, 1);
|
|
42
|
+
}
|
|
43
|
+
function drumPose(rowsFromCenter, itemHeight, frameHeight) {
|
|
44
|
+
const radius = drumRadius(frameHeight);
|
|
45
|
+
const theta = rowsFromCenter * itemHeight / Math.max(radius, 1);
|
|
46
|
+
const clamped = Math.max(-Math.PI / 2, Math.min(Math.PI / 2, theta));
|
|
47
|
+
const cos = Math.cos(clamped);
|
|
48
|
+
return {
|
|
49
|
+
offset: radius * Math.sin(clamped),
|
|
50
|
+
rotateX: -(clamped * 180) / Math.PI,
|
|
51
|
+
scale: 1.5 / (2.5 - cos),
|
|
52
|
+
opacity: Math.abs(theta) >= Math.PI / 2 ? 0 : Math.pow(cos, 2)
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
function tableValue(table, key) {
|
|
56
|
+
const raw = table?.[key];
|
|
57
|
+
if (typeof raw === "number") return raw;
|
|
58
|
+
if (raw && typeof raw === "object" && typeof raw.val === "number") return raw.val;
|
|
59
|
+
return void 0;
|
|
60
|
+
}
|
|
61
|
+
function fontLineHeightPx(size, fontFamily) {
|
|
62
|
+
const key = String(size).replace(/^\$/, "");
|
|
63
|
+
const fonts = getConfig()?.fonts ?? {};
|
|
64
|
+
const familyKey = typeof fontFamily === "string" ? fontFamily.replace(/^\$/, "") : "body";
|
|
65
|
+
const font = fonts[familyKey] ?? fonts.body ?? Object.values(fonts)[0];
|
|
66
|
+
const lineHeight = tableValue(font?.lineHeight, key);
|
|
67
|
+
if (lineHeight) return lineHeight;
|
|
68
|
+
const fontSize = tableValue(font?.size, key);
|
|
69
|
+
return fontSize ? Math.ceil(fontSize * 1.2) : 28;
|
|
70
|
+
}
|
|
71
|
+
function tokenPx(token, scale) {
|
|
72
|
+
if (typeof token === "number") return token;
|
|
73
|
+
const key = String(token).replace(/^\$/, "");
|
|
74
|
+
const val = getTokens()[scale]?.[key]?.val;
|
|
75
|
+
if (typeof val === "number") return val;
|
|
76
|
+
return scale === "radius" ? 9 : 8;
|
|
77
|
+
}
|
|
78
|
+
function highlightBandStyle(edges, radiusToken, pointy) {
|
|
79
|
+
const r = pointy ? 0 : tokenPx(radiusToken, "radius");
|
|
80
|
+
const inset = tokenPx("$2", "space");
|
|
81
|
+
const capStart = edges === "all" || edges === "start";
|
|
82
|
+
const capEnd = edges === "all" || edges === "end";
|
|
83
|
+
return {
|
|
84
|
+
borderStartStartRadius: capStart ? r : 0,
|
|
85
|
+
borderStartEndRadius: capEnd ? r : 0,
|
|
86
|
+
borderEndStartRadius: capStart ? r : 0,
|
|
87
|
+
borderEndEndRadius: capEnd ? r : 0,
|
|
88
|
+
marginInlineStart: capStart ? inset : 0,
|
|
89
|
+
marginInlineEnd: capEnd ? inset : 0
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
function useWheelLayout({
|
|
93
|
+
visibleItems = 5,
|
|
94
|
+
itemHeight: itemHeightProp,
|
|
95
|
+
size: sizeProp,
|
|
96
|
+
highlightEdges = "all"
|
|
97
|
+
}) {
|
|
98
|
+
const {
|
|
99
|
+
knobProps
|
|
100
|
+
} = useResolvedKnobs();
|
|
101
|
+
const size = sizeProp ?? wheelFontByStep[sizeTokenStep(knobProps.sizeToken)];
|
|
102
|
+
const bodyFont = knobProps.body.fontFamily;
|
|
103
|
+
const itemHeight = itemHeightProp ?? Math.ceil(fontLineHeightPx(size, bodyFont) + tokenPx("$1", "space"));
|
|
104
|
+
const frameHeight = itemHeight * visibleItems;
|
|
105
|
+
const motionTransition = knobProps.motion.control.transition;
|
|
106
|
+
const radiusToken = knobProps.borderRadius.borderRadius;
|
|
107
|
+
return {
|
|
108
|
+
knobProps,
|
|
109
|
+
size,
|
|
110
|
+
itemHeight,
|
|
111
|
+
frameHeight,
|
|
112
|
+
paddingItems: Math.floor(visibleItems / 2),
|
|
113
|
+
snapDurationMs: motionDurationMs(motionTransition),
|
|
114
|
+
highlightStyle: highlightBandStyle(highlightEdges, radiusToken, Boolean(knobProps.pointy)),
|
|
115
|
+
highlightClassName: "className" in knobProps.borderRadius && typeof knobProps.borderRadius.className === "string" ? knobProps.borderRadius.className : void 0
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
export { defaultColumnWidth, drumPose, drumRadius, drumReachRows, fontLineHeightPx, getItemLabel, getItemValue, highlightBandStyle, modIndex, nearestRowForDataIndex, normalizeItem, tokenPx, useWheelLayout };
|
|
119
|
+
//# sourceMappingURL=wheelShared.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["motionDurationMs","sizeTokenStep","useResolvedKnobs","getConfig","getTokens","defaultColumnWidth","wheelFontByStep","edgeAngle","Math","PI","normalizeItem","item","value","label","String","getItemLabel","normalized","getItemValue","modIndex","row","n","nearestRowForDataIndex","currentRow","targetDataIndex","currentMod","delta","drumRadius","frameHeight","sin","drumReachRows","itemHeight","max","drumPose","rowsFromCenter","radius","theta","clamped","min","cos","offset","rotateX","scale","opacity","abs","pow","tableValue","table","key","raw","val","fontLineHeightPx","size","fontFamily","replace","fonts","familyKey","font","body","Object","values","lineHeight","fontSize","ceil","tokenPx","token","highlightBandStyle","edges","radiusToken","pointy","r","inset","capStart","capEnd","borderStartStartRadius","borderStartEndRadius","borderEndStartRadius","borderEndEndRadius","marginInlineStart","marginInlineEnd","useWheelLayout","visibleItems","itemHeightProp","sizeProp","highlightEdges","knobProps","sizeToken","bodyFont","motionTransition","motion","control","transition","borderRadius","paddingItems","floor","snapDurationMs","highlightStyle","Boolean","highlightClassName","className"],"sources":["../../../src/Wheel/wheelShared.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|