@oxyhq/bloom 1.0.6 → 1.1.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/docs/level-picker.mdx +105 -0
- package/docs/slider.mdx +3 -1
- package/lib/commonjs/floating/index.js.map +1 -1
- package/lib/commonjs/index.js +8 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +33 -25
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/level-picker/LevelPicker.js +349 -0
- package/lib/commonjs/level-picker/LevelPicker.js.map +1 -0
- package/lib/commonjs/level-picker/LevelPicker.web.js +346 -0
- package/lib/commonjs/level-picker/LevelPicker.web.js.map +1 -0
- package/lib/commonjs/level-picker/constants.js +137 -0
- package/lib/commonjs/level-picker/constants.js.map +1 -0
- package/lib/commonjs/level-picker/index.js +13 -0
- package/lib/commonjs/level-picker/index.js.map +1 -0
- package/lib/commonjs/level-picker/index.web.js +13 -0
- package/lib/commonjs/level-picker/index.web.js.map +1 -0
- package/lib/commonjs/level-picker/types.js +6 -0
- package/lib/commonjs/level-picker/types.js.map +1 -0
- package/lib/module/floating/index.js +5 -0
- package/lib/module/floating/index.js.map +1 -1
- package/lib/module/index.js +1 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +1 -0
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/level-picker/LevelPicker.js +343 -0
- package/lib/module/level-picker/LevelPicker.js.map +1 -0
- package/lib/module/level-picker/LevelPicker.web.js +340 -0
- package/lib/module/level-picker/LevelPicker.web.js.map +1 -0
- package/lib/module/level-picker/constants.js +131 -0
- package/lib/module/level-picker/constants.js.map +1 -0
- package/lib/module/level-picker/index.js +4 -0
- package/lib/module/level-picker/index.js.map +1 -0
- package/lib/module/level-picker/index.web.js +4 -0
- package/lib/module/level-picker/index.web.js.map +1 -0
- package/lib/module/level-picker/types.js +4 -0
- package/lib/module/level-picker/types.js.map +1 -0
- package/lib/typescript/commonjs/floating/index.d.ts +5 -0
- package/lib/typescript/commonjs/floating/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +2 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.web.d.ts +2 -0
- package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/level-picker/LevelPicker.d.ts +6 -0
- package/lib/typescript/commonjs/level-picker/LevelPicker.d.ts.map +1 -0
- package/lib/typescript/commonjs/level-picker/LevelPicker.web.d.ts +6 -0
- package/lib/typescript/commonjs/level-picker/LevelPicker.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/level-picker/constants.d.ts +93 -0
- package/lib/typescript/commonjs/level-picker/constants.d.ts.map +1 -0
- package/lib/typescript/commonjs/level-picker/index.d.ts +3 -0
- package/lib/typescript/commonjs/level-picker/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/level-picker/index.web.d.ts +3 -0
- package/lib/typescript/commonjs/level-picker/index.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/level-picker/types.d.ts +63 -0
- package/lib/typescript/commonjs/level-picker/types.d.ts.map +1 -0
- package/lib/typescript/module/floating/index.d.ts +5 -0
- package/lib/typescript/module/floating/index.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +2 -0
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/index.web.d.ts +2 -0
- package/lib/typescript/module/index.web.d.ts.map +1 -1
- package/lib/typescript/module/level-picker/LevelPicker.d.ts +6 -0
- package/lib/typescript/module/level-picker/LevelPicker.d.ts.map +1 -0
- package/lib/typescript/module/level-picker/LevelPicker.web.d.ts +6 -0
- package/lib/typescript/module/level-picker/LevelPicker.web.d.ts.map +1 -0
- package/lib/typescript/module/level-picker/constants.d.ts +93 -0
- package/lib/typescript/module/level-picker/constants.d.ts.map +1 -0
- package/lib/typescript/module/level-picker/index.d.ts +3 -0
- package/lib/typescript/module/level-picker/index.d.ts.map +1 -0
- package/lib/typescript/module/level-picker/index.web.d.ts +3 -0
- package/lib/typescript/module/level-picker/index.web.d.ts.map +1 -0
- package/lib/typescript/module/level-picker/types.d.ts +63 -0
- package/lib/typescript/module/level-picker/types.d.ts.map +1 -0
- package/package.json +20 -1
- package/src/floating/index.ts +5 -0
- package/src/index.ts +2 -0
- package/src/index.web.ts +2 -0
- package/src/level-picker/LevelPicker.tsx +365 -0
- package/src/level-picker/LevelPicker.web.tsx +374 -0
- package/src/level-picker/constants.ts +131 -0
- package/src/level-picker/index.ts +2 -0
- package/src/level-picker/index.web.ts +2 -0
- package/src/level-picker/types.ts +63 -0
|
@@ -0,0 +1,349 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.LevelPicker = LevelPicker;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _constants = require("../floating/constants.js");
|
|
10
|
+
var _shared = require("../floating/shared.js");
|
|
11
|
+
var _useControllableState = require("../hooks/use-controllable-state.js");
|
|
12
|
+
var _Chevron = require("../icons/Chevron.js");
|
|
13
|
+
var _styledPrimitives = require("../styles/styled-primitives.js");
|
|
14
|
+
var _tokens = require("../styles/tokens.js");
|
|
15
|
+
var _useTheme = require("../theme/use-theme.js");
|
|
16
|
+
var _constants2 = require("./constants.js");
|
|
17
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
|
+
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); }
|
|
19
|
+
/**
|
|
20
|
+
* `LevelPicker` — NATIVE. A stepped level slider over a disclosure that reveals
|
|
21
|
+
* a region of detail rows, laid out for the surface a native menu IS: a sheet.
|
|
22
|
+
*
|
|
23
|
+
* The web fork (`LevelPicker.web.tsx`) is the second half, and the split is not
|
|
24
|
+
* cosmetic. Three things differ, and each of them is the platform:
|
|
25
|
+
*
|
|
26
|
+
* 1. **The details region holds sub-menus, and a native sub-menu is an INLINE
|
|
27
|
+
* disclosure** (`floating/menu-sub-inline.tsx`) that grows the region when
|
|
28
|
+
* it opens. The web fork can therefore lay its regions out against a height
|
|
29
|
+
* it computes; this one cannot, so the picker is a plain column and every
|
|
30
|
+
* reveal is measured (`onLayout`) rather than assumed.
|
|
31
|
+
* 2. **There is no hover.** The end captions swap in while the rail is being
|
|
32
|
+
* DRAGGED here, which is the only "the user is working the slider" signal a
|
|
33
|
+
* touch screen has; the web fork adds pointer-over and keyboard focus.
|
|
34
|
+
* 3. **The gesture is a `PanResponder`**, not pointer capture, and the keyboard
|
|
35
|
+
* is an accessibility ACTION (`increment`/`decrement`) rather than arrow
|
|
36
|
+
* keys, because that is what an `adjustable` role exposes to VoiceOver and
|
|
37
|
+
* TalkBack.
|
|
38
|
+
*
|
|
39
|
+
* Everything both forks agree about — the stops, the inset, the hit mapping,
|
|
40
|
+
* the colour roles — is in `constants.ts` and is read from there by both, so
|
|
41
|
+
* the two cannot drift into disagreeing about the same control.
|
|
42
|
+
*/
|
|
43
|
+
|
|
44
|
+
/**
|
|
45
|
+
* Built at MODULE scope, from `StyledView`, so one node carries the transform,
|
|
46
|
+
* the class and the style — `button/Button.tsx`'s rule, for its reasons: an
|
|
47
|
+
* element type constructed during render remounts its subtree every frame, and
|
|
48
|
+
* a second layout node would make LAYOUT classes inert on native.
|
|
49
|
+
*/
|
|
50
|
+
const AnimatedStyledView = _reactNative.Animated.createAnimatedComponent(_styledPrimitives.StyledView);
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Drive a 0→1 `Animated.Value` from a boolean.
|
|
54
|
+
*
|
|
55
|
+
* `useNativeDriver` is off because one of the two callers animates `maxHeight`,
|
|
56
|
+
* which the native driver cannot own; the other animates opacity and could,
|
|
57
|
+
* but a single shape for both is worth more than the frame it costs on a
|
|
58
|
+
* cross-fade. The spring is Bloom's `gentle`, the same one `Accordion`'s reveal
|
|
59
|
+
* takes — the web fork's `cubic-bezier` is a CSS spelling with no RN equivalent,
|
|
60
|
+
* so the two curves are deliberately each their platform's own.
|
|
61
|
+
*/
|
|
62
|
+
function useRevealProgress(on) {
|
|
63
|
+
const progress = (0, _react.useRef)(new _reactNative.Animated.Value(on ? 1 : 0)).current;
|
|
64
|
+
(0, _react.useEffect)(() => {
|
|
65
|
+
_reactNative.Animated.spring(progress, {
|
|
66
|
+
toValue: on ? 1 : 0,
|
|
67
|
+
useNativeDriver: false,
|
|
68
|
+
..._tokens.animation.spring.gentle
|
|
69
|
+
}).start();
|
|
70
|
+
}, [on, progress]);
|
|
71
|
+
return progress;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* What an `adjustable` exposes to VoiceOver and TalkBack. Declared once at
|
|
76
|
+
* module scope: a fresh array each render is a new prop value every time.
|
|
77
|
+
*/
|
|
78
|
+
const ADJUST_ACTIONS = [{
|
|
79
|
+
name: 'increment'
|
|
80
|
+
}, {
|
|
81
|
+
name: 'decrement'
|
|
82
|
+
}];
|
|
83
|
+
function LevelPicker({
|
|
84
|
+
levels,
|
|
85
|
+
value,
|
|
86
|
+
onValueChange,
|
|
87
|
+
accessibilityLabel,
|
|
88
|
+
minLabel,
|
|
89
|
+
maxLabel,
|
|
90
|
+
detailsLabel = 'Details',
|
|
91
|
+
expanded,
|
|
92
|
+
defaultExpanded = false,
|
|
93
|
+
onExpandedChange,
|
|
94
|
+
children,
|
|
95
|
+
className,
|
|
96
|
+
style,
|
|
97
|
+
testID
|
|
98
|
+
}) {
|
|
99
|
+
const theme = (0, _useTheme.useTheme)();
|
|
100
|
+
const [isExpanded, setExpanded] = (0, _useControllableState.useControllableState)({
|
|
101
|
+
value: expanded,
|
|
102
|
+
defaultValue: defaultExpanded,
|
|
103
|
+
onChange: onExpandedChange
|
|
104
|
+
});
|
|
105
|
+
const [trackWidth, setTrackWidth] = (0, _react.useState)(0);
|
|
106
|
+
const [detailsHeight, setDetailsHeight] = (0, _react.useState)(0);
|
|
107
|
+
const [dragging, setDragging] = (0, _react.useState)(false);
|
|
108
|
+
const reveal = useRevealProgress(isExpanded);
|
|
109
|
+
const active = useRevealProgress(dragging);
|
|
110
|
+
|
|
111
|
+
// The latest props, read by a `PanResponder` that is created once. Read
|
|
112
|
+
// inside its CALLBACKS and never during render, so no memoized position ever
|
|
113
|
+
// holds a stale copy.
|
|
114
|
+
const stateRef = (0, _react.useRef)({
|
|
115
|
+
value,
|
|
116
|
+
trackWidth,
|
|
117
|
+
count: levels.length
|
|
118
|
+
});
|
|
119
|
+
stateRef.current = {
|
|
120
|
+
value,
|
|
121
|
+
trackWidth,
|
|
122
|
+
count: levels.length
|
|
123
|
+
};
|
|
124
|
+
const onValueChangeRef = (0, _react.useRef)(onValueChange);
|
|
125
|
+
onValueChangeRef.current = onValueChange;
|
|
126
|
+
// Where the gesture started, so a MOVE can be resolved as that point plus the
|
|
127
|
+
// gesture's own `dx`. `locationX` is only trustworthy on the grant.
|
|
128
|
+
const grantOffsetRef = (0, _react.useRef)(0);
|
|
129
|
+
const commitOffset = (0, _react.useCallback)(offsetX => {
|
|
130
|
+
const {
|
|
131
|
+
value: current,
|
|
132
|
+
trackWidth: width,
|
|
133
|
+
count
|
|
134
|
+
} = stateRef.current;
|
|
135
|
+
const next = (0, _constants2.levelFromOffset)(offsetX, width, count);
|
|
136
|
+
if (next !== current) onValueChangeRef.current(next);
|
|
137
|
+
}, []);
|
|
138
|
+
const step = (0, _react.useCallback)(delta => {
|
|
139
|
+
const {
|
|
140
|
+
value: current,
|
|
141
|
+
count
|
|
142
|
+
} = stateRef.current;
|
|
143
|
+
const next = Math.max(0, Math.min(count - 1, current + delta));
|
|
144
|
+
if (next !== current) onValueChangeRef.current(next);
|
|
145
|
+
}, []);
|
|
146
|
+
const panResponder = (0, _react.useMemo)(() => _reactNative.PanResponder.create({
|
|
147
|
+
onStartShouldSetPanResponder: () => true,
|
|
148
|
+
onMoveShouldSetPanResponder: () => true,
|
|
149
|
+
onPanResponderGrant: event => {
|
|
150
|
+
setDragging(true);
|
|
151
|
+
grantOffsetRef.current = event.nativeEvent.locationX;
|
|
152
|
+
commitOffset(grantOffsetRef.current);
|
|
153
|
+
},
|
|
154
|
+
onPanResponderMove: (_event, gesture) => {
|
|
155
|
+
commitOffset(grantOffsetRef.current + gesture.dx);
|
|
156
|
+
},
|
|
157
|
+
onPanResponderRelease: () => setDragging(false),
|
|
158
|
+
onPanResponderTerminate: () => setDragging(false)
|
|
159
|
+
}), [commitOffset]);
|
|
160
|
+
const onTrackLayout = (0, _react.useCallback)(event => {
|
|
161
|
+
const next = event.nativeEvent.layout.width;
|
|
162
|
+
setTrackWidth(prev => Math.abs(prev - next) > 0.5 ? next : prev);
|
|
163
|
+
}, []);
|
|
164
|
+
const onDetailsLayout = (0, _react.useCallback)(event => {
|
|
165
|
+
const next = event.nativeEvent.layout.height;
|
|
166
|
+
// Sub-pixel churn would re-render on every frame of the spring.
|
|
167
|
+
setDetailsHeight(prev => Math.abs(prev - next) > 0.5 ? next : prev);
|
|
168
|
+
}, []);
|
|
169
|
+
const onAccessibilityAction = (0, _react.useCallback)(event => {
|
|
170
|
+
if (event.nativeEvent.actionName === 'increment') step(1);
|
|
171
|
+
if (event.nativeEvent.actionName === 'decrement') step(-1);
|
|
172
|
+
}, [step]);
|
|
173
|
+
|
|
174
|
+
/** A stop's centre, in pixels from the rail's left edge. */
|
|
175
|
+
const offsetOf = index => {
|
|
176
|
+
const {
|
|
177
|
+
percent,
|
|
178
|
+
offset
|
|
179
|
+
} = (0, _constants2.levelStopPosition)(index, levels.length);
|
|
180
|
+
return percent / 100 * trackWidth + offset;
|
|
181
|
+
};
|
|
182
|
+
const hasCaptions = minLabel !== undefined || maxLabel !== undefined;
|
|
183
|
+
const childTestId = part => testID === undefined ? undefined : `${testID}-${part}`;
|
|
184
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_styledPrimitives.StyledView, {
|
|
185
|
+
className: (0, _shared.cx)('w-full', className),
|
|
186
|
+
style: style,
|
|
187
|
+
testID: testID,
|
|
188
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(AnimatedStyledView, {
|
|
189
|
+
"aria-hidden": isExpanded,
|
|
190
|
+
pointerEvents: isExpanded ? 'none' : 'auto',
|
|
191
|
+
style: {
|
|
192
|
+
overflow: 'hidden',
|
|
193
|
+
opacity: reveal.interpolate({
|
|
194
|
+
inputRange: [0, 1],
|
|
195
|
+
outputRange: [1, 0]
|
|
196
|
+
}),
|
|
197
|
+
maxHeight: reveal.interpolate({
|
|
198
|
+
inputRange: [0, 1],
|
|
199
|
+
outputRange: [_constants2.LEVEL_SLIDER_ROW_HEIGHT, 0]
|
|
200
|
+
})
|
|
201
|
+
},
|
|
202
|
+
testID: childTestId('slider'),
|
|
203
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_styledPrimitives.StyledView, {
|
|
204
|
+
style: {
|
|
205
|
+
height: _constants2.LEVEL_SLIDER_ROW_HEIGHT,
|
|
206
|
+
justifyContent: 'center',
|
|
207
|
+
paddingHorizontal: _constants2.LEVEL_ROW_INSET
|
|
208
|
+
},
|
|
209
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_styledPrimitives.StyledView, {
|
|
210
|
+
accessibilityRole: "adjustable",
|
|
211
|
+
accessibilityLabel: accessibilityLabel,
|
|
212
|
+
accessibilityActions: ADJUST_ACTIONS,
|
|
213
|
+
onAccessibilityAction: onAccessibilityAction
|
|
214
|
+
// The FLAT `aria-value*` props: React Native folds them back into
|
|
215
|
+
// `accessibilityValue`, and they are the only spelling
|
|
216
|
+
// react-native-web reads. `slider/Slider.tsx` carries the same note.
|
|
217
|
+
,
|
|
218
|
+
"aria-valuemin": 0,
|
|
219
|
+
"aria-valuemax": levels.length - 1,
|
|
220
|
+
"aria-valuenow": value,
|
|
221
|
+
"aria-valuetext": levels[value],
|
|
222
|
+
onLayout: onTrackLayout,
|
|
223
|
+
className: _constants2.LEVEL_TRACK_CLASS,
|
|
224
|
+
style: {
|
|
225
|
+
height: _constants2.LEVEL_TRACK_HEIGHT
|
|
226
|
+
},
|
|
227
|
+
testID: childTestId('track'),
|
|
228
|
+
...panResponder.panHandlers,
|
|
229
|
+
children: trackWidth > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
230
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_styledPrimitives.StyledView, {
|
|
231
|
+
className: _constants2.LEVEL_FILL_CLASS,
|
|
232
|
+
style: {
|
|
233
|
+
top: 0,
|
|
234
|
+
bottom: 0,
|
|
235
|
+
width: offsetOf(value)
|
|
236
|
+
}
|
|
237
|
+
}), levels.map((label, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_styledPrimitives.StyledView, {
|
|
238
|
+
className: index <= value ? _constants2.LEVEL_STOP_REACHED_CLASS : _constants2.LEVEL_STOP_CLASS,
|
|
239
|
+
style: {
|
|
240
|
+
width: _constants2.LEVEL_STOP_SIZE,
|
|
241
|
+
height: _constants2.LEVEL_STOP_SIZE,
|
|
242
|
+
top: (_constants2.LEVEL_TRACK_HEIGHT - _constants2.LEVEL_STOP_SIZE) / 2,
|
|
243
|
+
left: offsetOf(index) - _constants2.LEVEL_STOP_SIZE / 2
|
|
244
|
+
}
|
|
245
|
+
}, label)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_styledPrimitives.StyledView, {
|
|
246
|
+
className: _constants2.LEVEL_THUMB_CLASS,
|
|
247
|
+
style: {
|
|
248
|
+
width: _constants2.LEVEL_THUMB_SIZE,
|
|
249
|
+
height: _constants2.LEVEL_THUMB_SIZE,
|
|
250
|
+
top: (_constants2.LEVEL_TRACK_HEIGHT - _constants2.LEVEL_THUMB_SIZE) / 2,
|
|
251
|
+
left: offsetOf(value) - _constants2.LEVEL_THUMB_SIZE / 2
|
|
252
|
+
},
|
|
253
|
+
testID: childTestId('thumb')
|
|
254
|
+
})]
|
|
255
|
+
}) : null
|
|
256
|
+
})
|
|
257
|
+
})
|
|
258
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_styledPrimitives.StyledView, {
|
|
259
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(AnimatedStyledView
|
|
260
|
+
// Only a drag takes the row out of the way — there is no hover here,
|
|
261
|
+
// and the row must stay pressable the moment the finger lifts.
|
|
262
|
+
, {
|
|
263
|
+
pointerEvents: dragging ? 'none' : 'auto',
|
|
264
|
+
style: {
|
|
265
|
+
opacity: active.interpolate({
|
|
266
|
+
inputRange: [0, 1],
|
|
267
|
+
outputRange: [1, 0]
|
|
268
|
+
})
|
|
269
|
+
},
|
|
270
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_shared.MenuRowShell, {
|
|
271
|
+
role: "menuitem",
|
|
272
|
+
expanded: isExpanded,
|
|
273
|
+
disabled: false,
|
|
274
|
+
title: detailsLabel,
|
|
275
|
+
trailing: /*#__PURE__*/(0, _jsxRuntime.jsx)(_shared.MenuRowChevron, {
|
|
276
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(AnimatedStyledView, {
|
|
277
|
+
style: {
|
|
278
|
+
transform: [{
|
|
279
|
+
rotate: reveal.interpolate({
|
|
280
|
+
inputRange: [0, 1],
|
|
281
|
+
outputRange: ['0deg', '90deg']
|
|
282
|
+
})
|
|
283
|
+
}]
|
|
284
|
+
},
|
|
285
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Chevron.ChevronRight_Stroke2_Corner0_Rounded, {
|
|
286
|
+
width: _constants.ROW_ICON_SIZE,
|
|
287
|
+
height: _constants.ROW_ICON_SIZE,
|
|
288
|
+
fill: theme.colors.textSecondary
|
|
289
|
+
})
|
|
290
|
+
})
|
|
291
|
+
}),
|
|
292
|
+
onPress: () => setExpanded(!isExpanded),
|
|
293
|
+
className: _shared.SUB_TRIGGER_CLASS,
|
|
294
|
+
testID: childTestId('summary')
|
|
295
|
+
})
|
|
296
|
+
}), hasCaptions ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(AnimatedStyledView, {
|
|
297
|
+
"aria-hidden": true,
|
|
298
|
+
pointerEvents: "none",
|
|
299
|
+
style: {
|
|
300
|
+
position: 'absolute',
|
|
301
|
+
top: 0,
|
|
302
|
+
bottom: 0,
|
|
303
|
+
left: 0,
|
|
304
|
+
right: 0,
|
|
305
|
+
flexDirection: 'row',
|
|
306
|
+
alignItems: 'center',
|
|
307
|
+
justifyContent: 'space-between',
|
|
308
|
+
paddingHorizontal: _constants2.LEVEL_ROW_INSET,
|
|
309
|
+
opacity: active
|
|
310
|
+
},
|
|
311
|
+
testID: childTestId('captions'),
|
|
312
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_styledPrimitives.StyledText, {
|
|
313
|
+
className: _constants2.LEVEL_CAPTION_CLASS,
|
|
314
|
+
children: minLabel
|
|
315
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_styledPrimitives.StyledText, {
|
|
316
|
+
className: _constants2.LEVEL_CAPTION_CLASS,
|
|
317
|
+
children: maxLabel
|
|
318
|
+
})]
|
|
319
|
+
}) : null]
|
|
320
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(AnimatedStyledView, {
|
|
321
|
+
"aria-hidden": !isExpanded,
|
|
322
|
+
pointerEvents: isExpanded ? 'auto' : 'none',
|
|
323
|
+
style: {
|
|
324
|
+
overflow: 'hidden',
|
|
325
|
+
opacity: reveal,
|
|
326
|
+
// Before the first measurement an OPEN region must not be clipped to
|
|
327
|
+
// zero — `Accordion`'s rule, for its reason: the unmeasured frame
|
|
328
|
+
// takes the answer its state already implies.
|
|
329
|
+
maxHeight: detailsHeight === 0 && isExpanded ? undefined : reveal.interpolate({
|
|
330
|
+
inputRange: [0, 1],
|
|
331
|
+
outputRange: [0, detailsHeight]
|
|
332
|
+
})
|
|
333
|
+
},
|
|
334
|
+
testID: childTestId('details'),
|
|
335
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_styledPrimitives.StyledView, {
|
|
336
|
+
onLayout: onDetailsLayout,
|
|
337
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_styledPrimitives.StyledView, {
|
|
338
|
+
className: _constants2.LEVEL_SEPARATOR_CLASS,
|
|
339
|
+
style: {
|
|
340
|
+
marginHorizontal: _constants2.LEVEL_ROW_INSET,
|
|
341
|
+
marginBottom: 4
|
|
342
|
+
}
|
|
343
|
+
}), children]
|
|
344
|
+
})
|
|
345
|
+
})]
|
|
346
|
+
});
|
|
347
|
+
}
|
|
348
|
+
LevelPicker.displayName = 'LevelPicker';
|
|
349
|
+
//# sourceMappingURL=LevelPicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_constants","_shared","_useControllableState","_Chevron","_styledPrimitives","_tokens","_useTheme","_constants2","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","AnimatedStyledView","Animated","createAnimatedComponent","StyledView","useRevealProgress","on","progress","useRef","Value","current","useEffect","spring","toValue","useNativeDriver","animation","gentle","start","ADJUST_ACTIONS","name","LevelPicker","levels","value","onValueChange","accessibilityLabel","minLabel","maxLabel","detailsLabel","expanded","defaultExpanded","onExpandedChange","children","className","style","testID","theme","useTheme","isExpanded","setExpanded","useControllableState","defaultValue","onChange","trackWidth","setTrackWidth","useState","detailsHeight","setDetailsHeight","dragging","setDragging","reveal","active","stateRef","count","length","onValueChangeRef","grantOffsetRef","commitOffset","useCallback","offsetX","width","next","levelFromOffset","step","delta","Math","max","min","panResponder","useMemo","PanResponder","create","onStartShouldSetPanResponder","onMoveShouldSetPanResponder","onPanResponderGrant","event","nativeEvent","locationX","onPanResponderMove","_event","gesture","dx","onPanResponderRelease","onPanResponderTerminate","onTrackLayout","layout","prev","abs","onDetailsLayout","height","onAccessibilityAction","actionName","offsetOf","index","percent","offset","levelStopPosition","hasCaptions","undefined","childTestId","part","jsxs","cx","jsx","pointerEvents","overflow","opacity","interpolate","inputRange","outputRange","maxHeight","LEVEL_SLIDER_ROW_HEIGHT","justifyContent","paddingHorizontal","LEVEL_ROW_INSET","accessibilityRole","accessibilityActions","onLayout","LEVEL_TRACK_CLASS","LEVEL_TRACK_HEIGHT","panHandlers","Fragment","LEVEL_FILL_CLASS","top","bottom","map","label","LEVEL_STOP_REACHED_CLASS","LEVEL_STOP_CLASS","LEVEL_STOP_SIZE","left","LEVEL_THUMB_CLASS","LEVEL_THUMB_SIZE","MenuRowShell","role","disabled","title","trailing","MenuRowChevron","transform","rotate","ChevronRight_Stroke2_Corner0_Rounded","ROW_ICON_SIZE","fill","colors","textSecondary","onPress","SUB_TRIGGER_CLASS","position","right","flexDirection","alignItems","StyledText","LEVEL_CAPTION_CLASS","LEVEL_SEPARATOR_CLASS","marginHorizontal","marginBottom","displayName"],"sourceRoot":"../../../src","sources":["level-picker/LevelPicker.tsx"],"mappings":"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","ignoreList":[]}
|