panelui-native 0.86.1 → 0.87.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/README.md +4 -2
- package/lib/module/components/bubble-chart/index.js +1266 -0
- package/lib/module/components/bubble-chart/index.js.map +1 -0
- package/lib/module/components/pyramid-chart/index.js +1143 -0
- package/lib/module/components/pyramid-chart/index.js.map +1 -0
- package/lib/module/components/search-bar/index.js +399 -16
- package/lib/module/components/search-bar/index.js.map +1 -1
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/utils/chart.js +24 -0
- package/lib/module/utils/chart.js.map +1 -1
- package/lib/typescript/src/components/bubble-chart/index.d.ts +338 -0
- package/lib/typescript/src/components/bubble-chart/index.d.ts.map +1 -0
- package/lib/typescript/src/components/pyramid-chart/index.d.ts +328 -0
- package/lib/typescript/src/components/pyramid-chart/index.d.ts.map +1 -0
- package/lib/typescript/src/components/search-bar/index.d.ts +215 -6
- package/lib/typescript/src/components/search-bar/index.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +3 -1
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/utils/chart.d.ts +14 -0
- package/lib/typescript/src/utils/chart.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/components/bubble-chart/index.tsx +1527 -0
- package/src/components/pyramid-chart/index.tsx +1360 -0
- package/src/components/search-bar/index.tsx +496 -38
- package/src/index.ts +45 -1
- package/src/utils/chart.ts +27 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Children","createContext","forwardRef","isValidElement","useContext","useEffect","useImperativeHandle","useMemo","useRef","useState","StyleSheet","View","Gesture","GestureDetector","Animated","Easing","cancelAnimation","runOnJS","useAnimatedProps","useAnimatedStyle","useReducedMotion","useSharedValue","withRepeat","withTiming","Svg","Defs","G","Line","SvgLine","LinearGradient","Path","Stop","useCSSVariable","ChartAccessibilityData","Text","barPath","columnValues","compactNumber","niceDomain","useSeriesColor","cn","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","AnimatedPath","createAnimatedComponent","AnimatedLinearGradient","PADDING","top","right","bottom","left","CATEGORY_GUTTER","CENTRE_GUTTER","LABEL_WIDTH","AXIS_LABEL_WIDTH","AXIS_LABEL_HEIGHT","DOMAIN_STEPS","LABEL_ROW","PyramidChartContext","useChart","component","context","Error","usePyramidChart","data","activeIndexJS","xDataKey","activeIndex","activePoint","partition","children","svg","overlay","header","forEach","child","index","layer","type","slot","ChildSlot","push","PyramidChartRoot","className","status","aspectRatio","animationDuration","domainDuration","maxValue","labelPlacement","barGap","barWidth","cornerRadius","minBarLength","fadedOpacity","onActiveIndexChange","accessible","accessibilityLabel","accessibilityHint","accessibilityLabelForDatum","onAccessibilityDatumPress","props","ref","size","setSize","width","height","series","setSeries","setActiveIndexJS","reveal","domainMax","reducedMotion","registerSeries","next","current","existing","find","entry","key","color","side","filter","unregisterSeries","hasYAxis","found","axis","gutter","labelInset","pad","plot","Math","max","seriesKeys","map","join","extentMax","undefined","keys","split","row","value","Number","isNaN","loading","first","duration","revealed","playReveal","easing","out","cubic","length","replay","handleActiveIndex","onLayout","event","nativeEvent","layout","abs","Provider","style","chart","disabled","valueOf","datum","accessibilityElementsHidden","importantForAccessibility","absoluteFill","displayName","geometry","centre","innerStart","innerEnd","wing","PyramidChartGrid","columns","dashArray","opacity","centreLine","token","stroke","ticks","Array","from","_unused","fraction","x1","x2","y1","y2","strokeDasharray","strokeWidth","PyramidChartBar","dataKey","colorIndex","chartRadius","fill","radius","values","total","towards","build","wantActive","d","band","usable","thickness","min","grow","active","i","start","eased","shown","lead","dim","restProps","activeProps","animatedProps","SKELETON_LENGTH","SKELETON_ROWS","PyramidChartSkeleton","rows","base","highlight","sweep","linear","path","gradientId","id","offset","stopColor","stopOpacity","PyramidChartXAxis","format","fmt","labels","text","x","position","inset","pointerEvents","label","muted","numberOfLines","textAlign","PyramidChartYAxis","String","centred","PyramidChartTooltip","formatValue","formatX","labelHeight","pan","resolve","y","floor","Pan","minDistance","onBegin","onUpdate","onFinalize","labelStyle","tall","transform","translateX","translateY","fmtValue","fmtX","gesture","borderRadius","backgroundColor","weight","SeriesSwatch","PyramidChartLegend","PyramidChartHeader","title","caption","legend","trailing","PyramidChart","Object","assign","Header","Grid","Bar","Skeleton","XAxis","YAxis","Tooltip","Legend"],"sourceRoot":"../../../../src","sources":["components/pyramid-chart/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,14 +2,42 @@
|
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* SearchBar — a text field for querying a list, with the two controls a search
|
|
5
|
-
* needs and an ordinary field does not
|
|
5
|
+
* needs and an ordinary field does not, and a panel of results that opens out
|
|
6
|
+
* of the field itself.
|
|
6
7
|
*
|
|
7
8
|
* ```tsx
|
|
8
9
|
* <SearchBar placeholder="Search orders" onSubmit={run} />
|
|
9
10
|
* <SearchBar variant="filled" shape="pill" cancel="focus" />
|
|
10
|
-
* <SearchBar
|
|
11
|
+
* <SearchBar avoidKeyboard value={query} onChangeText={setQuery}>
|
|
12
|
+
* <SearchBar.Section label="Suggested">
|
|
13
|
+
* <SearchBar.Item trailing={<AddButton />} onPress={add}>Claude</SearchBar.Item>
|
|
14
|
+
* </SearchBar.Section>
|
|
15
|
+
* </SearchBar>
|
|
11
16
|
* ```
|
|
12
17
|
*
|
|
18
|
+
* ## The results are above the field, and the field is above the keyboard
|
|
19
|
+
*
|
|
20
|
+
* A search that is being typed into has a keyboard under it, and a list drawn
|
|
21
|
+
* below the field is a list drawn behind the keyboard. So `avoidKeyboard`
|
|
22
|
+
* lifts the field until it sits `keyboardOffset` points clear of the keyboard's
|
|
23
|
+
* top edge, and the panel opens *upward* out of it into the space that is
|
|
24
|
+
* actually free.
|
|
25
|
+
*
|
|
26
|
+
* That puts the first result nearest the field and the last one furthest away,
|
|
27
|
+
* which is the order a reader walking away from the caret expects. Pass
|
|
28
|
+
* `panelPlacement="bottom"` for a search bar in a header, where the space is
|
|
29
|
+
* the other way round.
|
|
30
|
+
*
|
|
31
|
+
* The panel is positioned absolutely rather than laid out in the flow, so
|
|
32
|
+
* opening it never moves the page underneath — a list that pushes the field it
|
|
33
|
+
* belongs to is a field that walks away from the finger typing into it.
|
|
34
|
+
*
|
|
35
|
+
* ## Touches inside the panel must not close the keyboard
|
|
36
|
+
*
|
|
37
|
+
* The panel scrolls with `keyboardShouldPersistTaps="handled"`. Without it the
|
|
38
|
+
* first tap on a row is spent dismissing the keyboard and the press never
|
|
39
|
+
* arrives, which reads as a row that ignores every other tap.
|
|
40
|
+
*
|
|
13
41
|
* ## The clear button, and why it is not the platform's
|
|
14
42
|
*
|
|
15
43
|
* A ✕ appears inside the field as soon as there is something to clear, and
|
|
@@ -45,19 +73,21 @@
|
|
|
45
73
|
* pause instead of once per letter. Submitting flushes it immediately, since
|
|
46
74
|
* a return key is somebody saying they are done waiting.
|
|
47
75
|
*/
|
|
48
|
-
import { forwardRef, useCallback, useEffect, useImperativeHandle, useRef, useState } from 'react';
|
|
49
|
-
import { View } from 'react-native';
|
|
50
|
-
import Animated, { useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';
|
|
76
|
+
import { Children, forwardRef, isValidElement, useCallback, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';
|
|
77
|
+
import { ScrollView, StyleSheet, View, useWindowDimensions } from 'react-native';
|
|
78
|
+
import Animated, { FadeIn, FadeOut, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';
|
|
51
79
|
import { tv } from 'tailwind-variants';
|
|
80
|
+
import { useKeyboard } from "../../hooks/use-keyboard.js";
|
|
52
81
|
import { SearchIcon, XIcon } from "../../icons/index.js";
|
|
53
82
|
import { AnimatedPressable } from "../../primitives/animated-pressable.js";
|
|
83
|
+
import { KeyboardAvoider } from "../../primitives/keyboard-avoider.js";
|
|
54
84
|
import { Text } from "../../primitives/text.js";
|
|
55
85
|
import { Input } from "../input/index.js";
|
|
56
86
|
import { Spinner } from "../spinner/index.js";
|
|
57
87
|
import { cancelSearchBarDebounce, flushSearchBarDebounce, scheduleSearchBarDebounce } from "./search-bar-debounce.js";
|
|
58
88
|
|
|
59
89
|
/** Matches the field's own focus crossfade, so the row settles as one thing. */
|
|
60
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
90
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
61
91
|
const CANCEL_DURATION = 180;
|
|
62
92
|
|
|
63
93
|
/** Space kept between the field and the Cancel button while it is out. */
|
|
@@ -68,10 +98,76 @@ const CANCEL_GAP = 8;
|
|
|
68
98
|
* changing the height of the field it sits in.
|
|
69
99
|
*/
|
|
70
100
|
const CLEAR_HIT_SLOP = 12;
|
|
101
|
+
|
|
102
|
+
/** The panel's crossfade, matching every other anchored list in the library. */
|
|
103
|
+
const PANEL_IN = 140;
|
|
104
|
+
const PANEL_OUT = 120;
|
|
105
|
+
|
|
106
|
+
/** Gap left between the panel's far edge and the edge of the screen. */
|
|
107
|
+
const PANEL_EDGE_GAP = 24;
|
|
108
|
+
|
|
109
|
+
/** Floor for the derived height — below this a list is not worth opening. */
|
|
110
|
+
const PANEL_MIN_HEIGHT = 160;
|
|
111
|
+
|
|
112
|
+
/*
|
|
113
|
+
* The card is pinned to the edge of the field's own slot and grows away from
|
|
114
|
+
* it, so the field's box is the one thing that never moves.
|
|
115
|
+
*/
|
|
116
|
+
const CARD_ABOVE = {
|
|
117
|
+
position: 'absolute',
|
|
118
|
+
bottom: 0,
|
|
119
|
+
left: 0,
|
|
120
|
+
right: 0
|
|
121
|
+
};
|
|
122
|
+
const CARD_BELOW = {
|
|
123
|
+
position: 'absolute',
|
|
124
|
+
top: 0,
|
|
125
|
+
left: 0,
|
|
126
|
+
right: 0
|
|
127
|
+
};
|
|
128
|
+
|
|
129
|
+
/*
|
|
130
|
+
* `zIndex` *and* `elevation`, on the field's own box rather than on the card:
|
|
131
|
+
* Android draws siblings in tree order and takes its stacking from elevation,
|
|
132
|
+
* so a card overlapping the content above the field would otherwise be painted
|
|
133
|
+
* under it — and putting it here keeps the field painting over the card, which
|
|
134
|
+
* is what lets the two be one surface.
|
|
135
|
+
*/
|
|
136
|
+
const RAISED = {
|
|
137
|
+
zIndex: 20,
|
|
138
|
+
elevation: 20
|
|
139
|
+
};
|
|
71
140
|
const searchBarVariants = tv({
|
|
72
141
|
slots: {
|
|
73
142
|
row: 'w-full flex-row items-center',
|
|
143
|
+
/*
|
|
144
|
+
* The box the panel is positioned against — the field alone, so the panel
|
|
145
|
+
* is the field's width rather than the row's and does not run out under a
|
|
146
|
+
* Cancel button that is only sometimes there.
|
|
147
|
+
*/
|
|
148
|
+
anchor: 'relative',
|
|
74
149
|
field: '',
|
|
150
|
+
/*
|
|
151
|
+
* One card around the results *and* the field, with the field drawn over
|
|
152
|
+
* the space kept for it at the bottom.
|
|
153
|
+
*
|
|
154
|
+
* It has to be one box because the outline is one outline. Drawn as two —
|
|
155
|
+
* a bordered panel above a bordered field — the field's edge is the focus
|
|
156
|
+
* ring, since a field with a panel open is a field being typed into, and
|
|
157
|
+
* the card ends up with a brighter box welded to a dimmer one.
|
|
158
|
+
*
|
|
159
|
+
* `bg-popover`, not `bg-card`: this floats over the page rather than
|
|
160
|
+
* sitting in it, and a card is one step from the background — close enough
|
|
161
|
+
* that in dark mode the whole thing dissolves into the screen behind it.
|
|
162
|
+
*/
|
|
163
|
+
panel: 'overflow-hidden rounded-2xl border border-border bg-popover shadow-lg',
|
|
164
|
+
panelList: 'p-1.5',
|
|
165
|
+
/** The hairline between the results and the field. */
|
|
166
|
+
panelDivider: 'w-full bg-border',
|
|
167
|
+
sectionLabel: 'px-3 pb-1 pt-2 text-sm text-muted-foreground',
|
|
168
|
+
item: 'flex-row items-center gap-3 rounded-lg px-3 py-2.5',
|
|
169
|
+
itemLabel: 'flex-1 text-base text-foreground',
|
|
170
|
+
status: 'flex-row items-center justify-center gap-2 px-3 py-8',
|
|
75
171
|
// Clipped, because this is what the Cancel button is revealed out of: the
|
|
76
172
|
// button keeps its measured width and the container's grows past it.
|
|
77
173
|
//
|
|
@@ -110,11 +206,31 @@ const searchBarVariants = tv({
|
|
|
110
206
|
pill: {
|
|
111
207
|
field: 'rounded-full'
|
|
112
208
|
}
|
|
209
|
+
},
|
|
210
|
+
/**
|
|
211
|
+
* Which edge of the field the card grows out of. The field's corners on
|
|
212
|
+
* that edge go square and its border comes off entirely — the card around
|
|
213
|
+
* both of them is what draws the edge.
|
|
214
|
+
*/
|
|
215
|
+
attached: {
|
|
216
|
+
none: {},
|
|
217
|
+
top: {
|
|
218
|
+
field: 'rounded-t-none rounded-b-2xl border-0'
|
|
219
|
+
},
|
|
220
|
+
bottom: {
|
|
221
|
+
field: 'rounded-b-none rounded-t-2xl border-0'
|
|
222
|
+
}
|
|
223
|
+
},
|
|
224
|
+
selected: {
|
|
225
|
+
true: {
|
|
226
|
+
item: 'bg-accent'
|
|
227
|
+
}
|
|
113
228
|
}
|
|
114
229
|
},
|
|
115
230
|
defaultVariants: {
|
|
116
231
|
size: 'md',
|
|
117
|
-
shape: 'rounded'
|
|
232
|
+
shape: 'rounded',
|
|
233
|
+
attached: 'none'
|
|
118
234
|
}
|
|
119
235
|
});
|
|
120
236
|
/** Glyph sizes per field size — the icon tracks the text, not the box. */
|
|
@@ -124,15 +240,22 @@ const ICON_SIZE = {
|
|
|
124
240
|
lg: 20
|
|
125
241
|
};
|
|
126
242
|
|
|
243
|
+
/** Where the results open. */
|
|
244
|
+
|
|
245
|
+
/** When the results are shown. */
|
|
246
|
+
|
|
127
247
|
/**
|
|
128
248
|
* What SearchBar takes from Input, minus everything it owns itself. The form
|
|
129
249
|
* furniture is dropped along with it: a label and an error line stack above
|
|
130
250
|
* and below the field, and Cancel sits beside the whole stack rather than
|
|
131
251
|
* beside the field it belongs to. Use `Field` for a search that is one answer
|
|
132
252
|
* in a form.
|
|
253
|
+
*
|
|
254
|
+
* The keyboard props go too. Input's would move the field and leave the Cancel
|
|
255
|
+
* button and the panel where they were; SearchBar lifts all three together.
|
|
133
256
|
*/
|
|
134
257
|
|
|
135
|
-
|
|
258
|
+
const SearchBarRoot = /*#__PURE__*/forwardRef(({
|
|
136
259
|
value: valueProp,
|
|
137
260
|
defaultValue,
|
|
138
261
|
onChangeText,
|
|
@@ -152,6 +275,12 @@ export const SearchBar = /*#__PURE__*/forwardRef(({
|
|
|
152
275
|
className,
|
|
153
276
|
containerClassName,
|
|
154
277
|
disabled,
|
|
278
|
+
avoidKeyboard = false,
|
|
279
|
+
keyboardOffset = 12,
|
|
280
|
+
panel = 'focus',
|
|
281
|
+
panelPlacement = 'top',
|
|
282
|
+
panelMaxHeight,
|
|
283
|
+
children,
|
|
155
284
|
onFocus,
|
|
156
285
|
onBlur,
|
|
157
286
|
onSubmitEditing,
|
|
@@ -163,9 +292,25 @@ export const SearchBar = /*#__PURE__*/forwardRef(({
|
|
|
163
292
|
const [focused, setFocused] = useState(false);
|
|
164
293
|
const inputRef = useRef(null);
|
|
165
294
|
useImperativeHandle(ref, () => inputRef.current, []);
|
|
295
|
+
|
|
296
|
+
/*
|
|
297
|
+
* Counted rather than tested for truthiness: `{results.map(…)}` over an
|
|
298
|
+
* empty array is a child, and a panel that opens on nothing is a card of
|
|
299
|
+
* padding.
|
|
300
|
+
*/
|
|
301
|
+
const hasPanel = useMemo(() => {
|
|
302
|
+
let found = false;
|
|
303
|
+
Children.forEach(children, child => {
|
|
304
|
+
if (/*#__PURE__*/isValidElement(child)) found = true;
|
|
305
|
+
});
|
|
306
|
+
return found;
|
|
307
|
+
}, [children]);
|
|
308
|
+
const panelOpen = !disabled && panel !== 'never' && hasPanel && (panel === 'always' || focused);
|
|
309
|
+
const attached = panelOpen ? panelPlacement : 'none';
|
|
166
310
|
const slots = searchBarVariants({
|
|
167
311
|
size,
|
|
168
|
-
shape
|
|
312
|
+
shape,
|
|
313
|
+
attached
|
|
169
314
|
});
|
|
170
315
|
const setText = useCallback(next => {
|
|
171
316
|
if (!controlled) setInternal(next);
|
|
@@ -249,6 +394,46 @@ export const SearchBar = /*#__PURE__*/forwardRef(({
|
|
|
249
394
|
const handleCancelLayout = useCallback(event => {
|
|
250
395
|
cancelWidth.value = event.nativeEvent.layout.width;
|
|
251
396
|
}, [cancelWidth]);
|
|
397
|
+
|
|
398
|
+
/*
|
|
399
|
+
* How much room the panel has, in the direction it opens. Measured on the
|
|
400
|
+
* JS side because it decides a layout constraint rather than a frame of an
|
|
401
|
+
* animation: a `maxHeight` that changed every frame would re-lay out the
|
|
402
|
+
* list under the finger scrolling it.
|
|
403
|
+
*/
|
|
404
|
+
const {
|
|
405
|
+
height: windowHeight
|
|
406
|
+
} = useWindowDimensions();
|
|
407
|
+
const {
|
|
408
|
+
height: keyboardHeight
|
|
409
|
+
} = useKeyboard();
|
|
410
|
+
const anchorRef = useRef(null);
|
|
411
|
+
const [anchorBox, setAnchorBox] = useState(null);
|
|
412
|
+
const measureAnchor = useCallback(() => {
|
|
413
|
+
anchorRef.current?.measureInWindow((_x, y, _width, height) => {
|
|
414
|
+
setAnchorBox(current => current && current.top === y && current.height === height ? current : {
|
|
415
|
+
top: y,
|
|
416
|
+
height
|
|
417
|
+
});
|
|
418
|
+
});
|
|
419
|
+
}, []);
|
|
420
|
+
useEffect(() => {
|
|
421
|
+
if (!panelOpen) return;
|
|
422
|
+
measureAnchor();
|
|
423
|
+
}, [panelOpen, keyboardHeight, measureAnchor]);
|
|
424
|
+
const resolvedMaxHeight = useMemo(() => {
|
|
425
|
+
if (panelMaxHeight !== undefined) return panelMaxHeight;
|
|
426
|
+
const fieldHeight = anchorBox?.height ?? 0;
|
|
427
|
+
/*
|
|
428
|
+
* While the field is riding the keyboard, where it has come to rest is
|
|
429
|
+
* computed rather than measured: the lift is a transform applied on the
|
|
430
|
+
* UI thread, so a measurement taken from JavaScript is a frame behind it
|
|
431
|
+
* for the whole of the animation.
|
|
432
|
+
*/
|
|
433
|
+
const fieldTop = avoidKeyboard && keyboardHeight > 0 ? windowHeight - keyboardHeight - keyboardOffset - fieldHeight : anchorBox?.top ?? 0;
|
|
434
|
+
const room = panelPlacement === 'top' ? fieldTop - PANEL_EDGE_GAP : windowHeight - keyboardHeight - fieldTop - fieldHeight - PANEL_EDGE_GAP;
|
|
435
|
+
return Math.max(room, PANEL_MIN_HEIGHT);
|
|
436
|
+
}, [anchorBox, avoidKeyboard, keyboardHeight, keyboardOffset, panelMaxHeight, panelPlacement, windowHeight]);
|
|
252
437
|
const startContent =
|
|
253
438
|
/*#__PURE__*/
|
|
254
439
|
/*
|
|
@@ -285,7 +470,7 @@ export const SearchBar = /*#__PURE__*/forwardRef(({
|
|
|
285
470
|
className: slots.field({
|
|
286
471
|
className
|
|
287
472
|
}),
|
|
288
|
-
containerClassName:
|
|
473
|
+
containerClassName: "w-full",
|
|
289
474
|
startContent: startContent,
|
|
290
475
|
endContent: endContent,
|
|
291
476
|
value: text,
|
|
@@ -305,12 +490,68 @@ export const SearchBar = /*#__PURE__*/forwardRef(({
|
|
|
305
490
|
placeholder: "Search",
|
|
306
491
|
...props
|
|
307
492
|
});
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
493
|
+
|
|
494
|
+
// Nothing beside it and nothing under it: the field is the whole component,
|
|
495
|
+
// and a wrapper around it would only be a box for the caller's layout to
|
|
496
|
+
// fight.
|
|
497
|
+
if (cancel === 'never' && !avoidKeyboard && !hasPanel) {
|
|
498
|
+
return /*#__PURE__*/_jsx(View, {
|
|
499
|
+
className: containerClassName,
|
|
500
|
+
children: field
|
|
501
|
+
});
|
|
502
|
+
}
|
|
503
|
+
|
|
504
|
+
/*
|
|
505
|
+
* The results, the hairline and the room the field occupies, in the order
|
|
506
|
+
* they are stacked. The field itself is drawn over that last piece rather
|
|
507
|
+
* than inside the card: it has to keep its own place in the layout, and a
|
|
508
|
+
* text field that moved into an absolutely positioned box on focus would
|
|
509
|
+
* remount and lose the keyboard it just opened.
|
|
510
|
+
*/
|
|
511
|
+
const list = /*#__PURE__*/_jsx(ScrollView, {
|
|
512
|
+
style: {
|
|
513
|
+
maxHeight: resolvedMaxHeight
|
|
514
|
+
}
|
|
515
|
+
/*
|
|
516
|
+
* Without this the first tap on a row is spent dismissing the keyboard
|
|
517
|
+
* and the press never lands, which reads as a list that ignores every
|
|
518
|
+
* other touch.
|
|
519
|
+
*/,
|
|
520
|
+
keyboardShouldPersistTaps: "handled",
|
|
521
|
+
keyboardDismissMode: "none",
|
|
522
|
+
showsVerticalScrollIndicator: false,
|
|
523
|
+
bounces: false,
|
|
524
|
+
className: slots.panelList(),
|
|
525
|
+
children: children
|
|
526
|
+
}, "list");
|
|
527
|
+
const divider = /*#__PURE__*/_jsx(View, {
|
|
528
|
+
style: {
|
|
529
|
+
height: StyleSheet.hairlineWidth
|
|
530
|
+
},
|
|
531
|
+
className: slots.panelDivider()
|
|
532
|
+
}, "divider");
|
|
533
|
+
const fieldSlot = /*#__PURE__*/_jsx(View, {
|
|
534
|
+
style: {
|
|
535
|
+
height: anchorBox?.height ?? 0
|
|
536
|
+
}
|
|
537
|
+
}, "slot");
|
|
538
|
+
const anchor = /*#__PURE__*/_jsxs(View, {
|
|
539
|
+
ref: anchorRef,
|
|
540
|
+
onLayout: measureAnchor,
|
|
541
|
+
style: panelOpen ? RAISED : undefined,
|
|
542
|
+
className: slots.anchor({
|
|
543
|
+
className: cancel === 'never' ? 'w-full' : 'flex-1'
|
|
312
544
|
}),
|
|
313
|
-
children: [
|
|
545
|
+
children: [panelOpen ? /*#__PURE__*/_jsx(Animated.View, {
|
|
546
|
+
entering: FadeIn.duration(PANEL_IN),
|
|
547
|
+
exiting: FadeOut.duration(PANEL_OUT),
|
|
548
|
+
style: panelPlacement === 'top' ? CARD_ABOVE : CARD_BELOW,
|
|
549
|
+
className: slots.panel(),
|
|
550
|
+
children: panelPlacement === 'top' ? [list, divider, fieldSlot] : [fieldSlot, divider, list]
|
|
551
|
+
}) : null, field]
|
|
552
|
+
});
|
|
553
|
+
const body = cancel === 'never' ? anchor : /*#__PURE__*/_jsxs(_Fragment, {
|
|
554
|
+
children: [anchor, /*#__PURE__*/_jsx(Animated.View, {
|
|
314
555
|
style: cancelStyle,
|
|
315
556
|
className: slots.cancelClip(),
|
|
316
557
|
pointerEvents: cancelOut ? 'auto' : 'none',
|
|
@@ -334,6 +575,148 @@ export const SearchBar = /*#__PURE__*/forwardRef(({
|
|
|
334
575
|
})
|
|
335
576
|
})]
|
|
336
577
|
});
|
|
578
|
+
|
|
579
|
+
/*
|
|
580
|
+
* The keyboard hook is behind a component boundary rather than a flag.
|
|
581
|
+
* Calling it at all has global consequences — without the keyboard
|
|
582
|
+
* controller installed it falls back to Reanimated's useAnimatedKeyboard,
|
|
583
|
+
* which switches Android out of adjustResize for the whole app. A search
|
|
584
|
+
* bar that never asked to avoid the keyboard must not do that to every
|
|
585
|
+
* other screen.
|
|
586
|
+
*/
|
|
587
|
+
if (avoidKeyboard) {
|
|
588
|
+
return /*#__PURE__*/_jsx(KeyboardAvoider
|
|
589
|
+
// Only while *this* field is the one being typed into. Without it
|
|
590
|
+
// every avoiding field on the screen lifts the moment any field
|
|
591
|
+
// anywhere is tapped, and since they all aim at the same gap above
|
|
592
|
+
// the keyboard, they arrive stacked on top of one another.
|
|
593
|
+
, {
|
|
594
|
+
active: focused,
|
|
595
|
+
mode: "lift",
|
|
596
|
+
offset: keyboardOffset,
|
|
597
|
+
className: slots.row({
|
|
598
|
+
className: containerClassName
|
|
599
|
+
}),
|
|
600
|
+
children: body
|
|
601
|
+
});
|
|
602
|
+
}
|
|
603
|
+
return /*#__PURE__*/_jsx(View, {
|
|
604
|
+
className: slots.row({
|
|
605
|
+
className: containerClassName
|
|
606
|
+
}),
|
|
607
|
+
children: body
|
|
608
|
+
});
|
|
609
|
+
});
|
|
610
|
+
SearchBarRoot.displayName = 'SearchBar';
|
|
611
|
+
/** A labelled run of rows inside the panel. */
|
|
612
|
+
function SearchBarSection({
|
|
613
|
+
className,
|
|
614
|
+
label,
|
|
615
|
+
children,
|
|
616
|
+
...props
|
|
617
|
+
}) {
|
|
618
|
+
const {
|
|
619
|
+
sectionLabel
|
|
620
|
+
} = searchBarVariants();
|
|
621
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
622
|
+
...props,
|
|
623
|
+
className: className,
|
|
624
|
+
children: [label ? /*#__PURE__*/_jsx(Text, {
|
|
625
|
+
accessibilityRole: "header",
|
|
626
|
+
className: sectionLabel(),
|
|
627
|
+
children: label
|
|
628
|
+
}) : null, children]
|
|
629
|
+
});
|
|
630
|
+
}
|
|
631
|
+
SearchBarSection.displayName = 'SearchBar.Section';
|
|
632
|
+
/** One result. */
|
|
633
|
+
function SearchBarItem({
|
|
634
|
+
className,
|
|
635
|
+
leading,
|
|
636
|
+
trailing,
|
|
637
|
+
description,
|
|
638
|
+
selected,
|
|
639
|
+
children,
|
|
640
|
+
...props
|
|
641
|
+
}) {
|
|
642
|
+
const {
|
|
643
|
+
item,
|
|
644
|
+
itemLabel
|
|
645
|
+
} = searchBarVariants({
|
|
646
|
+
selected: !!selected
|
|
647
|
+
});
|
|
648
|
+
return /*#__PURE__*/_jsxs(AnimatedPressable, {
|
|
649
|
+
accessibilityRole: "button",
|
|
650
|
+
accessibilityState: {
|
|
651
|
+
selected: !!selected,
|
|
652
|
+
disabled: !!props.disabled
|
|
653
|
+
}
|
|
654
|
+
// A row is a wide target, and a target that shrinks when pressed reads as
|
|
655
|
+
// a card rather than a line in a list. The dim is the whole feedback.
|
|
656
|
+
,
|
|
657
|
+
pressScale: 1,
|
|
658
|
+
pressOpacity: 0.6
|
|
659
|
+
// The rows sit flush against each other, so the points either side of the
|
|
660
|
+
// gap between two of them would otherwise belong to neither.
|
|
661
|
+
,
|
|
662
|
+
hitSlop: {
|
|
663
|
+
top: 2,
|
|
664
|
+
bottom: 2
|
|
665
|
+
},
|
|
666
|
+
...props,
|
|
667
|
+
className: item({
|
|
668
|
+
className
|
|
669
|
+
}),
|
|
670
|
+
children: [leading, /*#__PURE__*/_jsxs(View, {
|
|
671
|
+
className: "flex-1",
|
|
672
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
673
|
+
numberOfLines: 1,
|
|
674
|
+
className: itemLabel(),
|
|
675
|
+
children: children
|
|
676
|
+
}), description ? /*#__PURE__*/_jsx(Text, {
|
|
677
|
+
size: "sm",
|
|
678
|
+
muted: true,
|
|
679
|
+
numberOfLines: 1,
|
|
680
|
+
children: description
|
|
681
|
+
}) : null]
|
|
682
|
+
}), trailing]
|
|
683
|
+
});
|
|
684
|
+
}
|
|
685
|
+
SearchBarItem.displayName = 'SearchBar.Item';
|
|
686
|
+
/**
|
|
687
|
+
* The one line a panel shows instead of rows — nothing typed yet, a search in
|
|
688
|
+
* flight, or a query that matched nothing. It is a sentence rather than an
|
|
689
|
+
* empty box because those three states look identical when they are blank, and
|
|
690
|
+
* which one it is decides what the person does next.
|
|
691
|
+
*/
|
|
692
|
+
function SearchBarStatus({
|
|
693
|
+
className,
|
|
694
|
+
loading = false,
|
|
695
|
+
children,
|
|
696
|
+
...props
|
|
697
|
+
}) {
|
|
698
|
+
const {
|
|
699
|
+
status
|
|
700
|
+
} = searchBarVariants();
|
|
701
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
702
|
+
accessibilityRole: "text",
|
|
703
|
+
...props,
|
|
704
|
+
className: status({
|
|
705
|
+
className
|
|
706
|
+
}),
|
|
707
|
+
children: [loading ? /*#__PURE__*/_jsx(Spinner, {
|
|
708
|
+
size: "sm"
|
|
709
|
+
}) : null, /*#__PURE__*/_jsx(Text, {
|
|
710
|
+
size: "sm",
|
|
711
|
+
muted: true,
|
|
712
|
+
children: children
|
|
713
|
+
})]
|
|
714
|
+
});
|
|
715
|
+
}
|
|
716
|
+
SearchBarStatus.displayName = 'SearchBar.Status';
|
|
717
|
+
export const SearchBar = Object.assign(SearchBarRoot, {
|
|
718
|
+
Section: SearchBarSection,
|
|
719
|
+
Item: SearchBarItem,
|
|
720
|
+
Status: SearchBarStatus
|
|
337
721
|
});
|
|
338
|
-
SearchBar.displayName = 'SearchBar';
|
|
339
722
|
//# sourceMappingURL=index.js.map
|