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