panelui-native 0.86.0 → 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.
@@ -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 debounce={250} onDebouncedChange={filter} loading={pending} />
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
- export const SearchBar = /*#__PURE__*/forwardRef(({
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: cancel === 'never' ? containerClassName : 'flex-1',
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
- if (cancel === 'never') return field;
309
- return /*#__PURE__*/_jsxs(View, {
310
- className: slots.row({
311
- className: containerClassName
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: [field, /*#__PURE__*/_jsx(Animated.View, {
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