react-native-terra-ui 0.13.7 → 0.13.9

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 (68) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/lib/module/components/header/parts/HeaderBar.js +3 -1
  3. package/lib/module/components/header/parts/HeaderBar.js.map +1 -1
  4. package/lib/module/components/header/parts/HeaderGradientOverlay.js +1 -2
  5. package/lib/module/components/header/parts/HeaderGradientOverlay.js.map +1 -1
  6. package/lib/module/components/header/parts/HeaderSurface.js +9 -4
  7. package/lib/module/components/header/parts/HeaderSurface.js.map +1 -1
  8. package/lib/module/components/header/variants/LargeTitleHeader/index.js +1 -0
  9. package/lib/module/components/header/variants/LargeTitleHeader/index.js.map +1 -1
  10. package/lib/module/components/header/variants/TitleHeader/index.js +1 -0
  11. package/lib/module/components/header/variants/TitleHeader/index.js.map +1 -1
  12. package/lib/module/components/input/hooks/use-focus-state.js +25 -0
  13. package/lib/module/components/input/hooks/use-focus-state.js.map +1 -0
  14. package/lib/module/components/input/parts/InputField.js +53 -31
  15. package/lib/module/components/input/parts/InputField.js.map +1 -1
  16. package/lib/module/components/input/variants/SearchInput/SearchCancelButton.js +93 -0
  17. package/lib/module/components/input/variants/SearchInput/SearchCancelButton.js.map +1 -0
  18. package/lib/module/components/input/variants/SearchInput/SearchClearButton.js +52 -0
  19. package/lib/module/components/input/variants/SearchInput/SearchClearButton.js.map +1 -0
  20. package/lib/module/components/input/variants/SearchInput/index.js +85 -30
  21. package/lib/module/components/input/variants/SearchInput/index.js.map +1 -1
  22. package/lib/module/components/input/variants/SearchInput/utils.js +9 -0
  23. package/lib/module/components/input/variants/SearchInput/utils.js.map +1 -0
  24. package/lib/module/components/screen/ScreenList.js +5 -1
  25. package/lib/module/components/screen/ScreenList.js.map +1 -1
  26. package/lib/module/components/screen/ScreenScrollView.js +5 -1
  27. package/lib/module/components/screen/ScreenScrollView.js.map +1 -1
  28. package/lib/module/theme/tokens/light.js +1 -1
  29. package/lib/typescript/src/components/header/parts/HeaderBar.d.ts +3 -1
  30. package/lib/typescript/src/components/header/parts/HeaderBar.d.ts.map +1 -1
  31. package/lib/typescript/src/components/header/parts/HeaderGradientOverlay.d.ts +3 -3
  32. package/lib/typescript/src/components/header/parts/HeaderGradientOverlay.d.ts.map +1 -1
  33. package/lib/typescript/src/components/header/parts/HeaderSurface.d.ts +12 -3
  34. package/lib/typescript/src/components/header/parts/HeaderSurface.d.ts.map +1 -1
  35. package/lib/typescript/src/components/header/variants/LargeTitleHeader/index.d.ts.map +1 -1
  36. package/lib/typescript/src/components/header/variants/TitleHeader/index.d.ts.map +1 -1
  37. package/lib/typescript/src/components/input/hooks/use-focus-state.d.ts +15 -0
  38. package/lib/typescript/src/components/input/hooks/use-focus-state.d.ts.map +1 -0
  39. package/lib/typescript/src/components/input/parts/InputField.d.ts +3 -1
  40. package/lib/typescript/src/components/input/parts/InputField.d.ts.map +1 -1
  41. package/lib/typescript/src/components/input/types.d.ts +11 -1
  42. package/lib/typescript/src/components/input/types.d.ts.map +1 -1
  43. package/lib/typescript/src/components/input/variants/SearchInput/SearchCancelButton.d.ts +19 -0
  44. package/lib/typescript/src/components/input/variants/SearchInput/SearchCancelButton.d.ts.map +1 -0
  45. package/lib/typescript/src/components/input/variants/SearchInput/SearchClearButton.d.ts +13 -0
  46. package/lib/typescript/src/components/input/variants/SearchInput/SearchClearButton.d.ts.map +1 -0
  47. package/lib/typescript/src/components/input/variants/SearchInput/index.d.ts +15 -1
  48. package/lib/typescript/src/components/input/variants/SearchInput/index.d.ts.map +1 -1
  49. package/lib/typescript/src/components/input/variants/SearchInput/utils.d.ts +4 -0
  50. package/lib/typescript/src/components/input/variants/SearchInput/utils.d.ts.map +1 -0
  51. package/lib/typescript/src/components/screen/ScreenList.d.ts.map +1 -1
  52. package/lib/typescript/src/components/screen/ScreenScrollView.d.ts.map +1 -1
  53. package/package.json +1 -1
  54. package/src/components/header/parts/HeaderBar.tsx +4 -1
  55. package/src/components/header/parts/HeaderGradientOverlay.tsx +3 -4
  56. package/src/components/header/parts/HeaderSurface.tsx +14 -8
  57. package/src/components/header/variants/LargeTitleHeader/index.tsx +1 -0
  58. package/src/components/header/variants/TitleHeader/index.tsx +1 -0
  59. package/src/components/input/hooks/use-focus-state.ts +32 -0
  60. package/src/components/input/parts/InputField.tsx +45 -31
  61. package/src/components/input/types.ts +11 -1
  62. package/src/components/input/variants/SearchInput/SearchCancelButton.tsx +109 -0
  63. package/src/components/input/variants/SearchInput/SearchClearButton.tsx +58 -0
  64. package/src/components/input/variants/SearchInput/index.tsx +92 -24
  65. package/src/components/input/variants/SearchInput/utils.ts +4 -0
  66. package/src/components/screen/ScreenList.tsx +3 -0
  67. package/src/components/screen/ScreenScrollView.tsx +3 -0
  68. package/src/theme/tokens/light.ts +1 -1
@@ -1,28 +1,25 @@
1
1
  "use strict";
2
2
 
3
- import { Pressable } from "react-native-unistyles/components/native/Pressable";
4
- import { forwardRef, useCallback, useState } from "react";
3
+ import { View } from "react-native-unistyles/components/native/View";
4
+ import { forwardRef, useCallback, useImperativeHandle, useRef, useState } from "react";
5
5
  import { StyleSheet } from "react-native-unistyles";
6
6
  import { Icon } from "../../../icon/index.js";
7
+ import { useFocusState } from "../../hooks/use-focus-state.js";
7
8
  import { InputField } from "../../parts/InputField.js";
8
- import { jsx as _jsx } from "react/jsx-runtime";
9
- /** Glyph size per field size, in dp. */
10
- const ICON_SIZE = {
11
- sm: 16,
12
- md: 18,
13
- lg: 20
14
- };
15
-
16
- /** Touch expansion around the clear button, in dp — it is smaller than a cell. */
17
- const CLEAR_HIT_SLOP = 8;
9
+ import { SearchCancelButton } from "./SearchCancelButton.js";
10
+ import { SearchClearButton } from "./SearchClearButton.js";
11
+ import { ICON_SIZE } from "./utils.js";
12
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
18
13
  /**
19
14
  * A search field: a leading magnifier, and a clear button that appears as soon
20
15
  * as there is text. Controlled through `value` or left to manage its own, and
21
- * it defaults to the search return key so the keyboard reads correctly.
16
+ * it defaults to the search return key so the keyboard reads correctly. With
17
+ * `hasCancelButton`, a round cancel button slides in beside it while focused.
22
18
  *
23
19
  * @example
24
20
  * ```tsx
25
21
  * <Input.Search value={query} onChangeText={setQuery} onSubmitEditing={run} />
22
+ * <Input.Search hasCancelButton onCancelPress={() => setQuery("")} />
26
23
  * ```
27
24
  */
28
25
  export const SearchInput = /*#__PURE__*/forwardRef(function SearchInput({
@@ -32,14 +29,27 @@ export const SearchInput = /*#__PURE__*/forwardRef(function SearchInput({
32
29
  onClear,
33
30
  isClearable = true,
34
31
  clearAccessibilityLabel = "Clear search",
32
+ hasCancelButton = false,
33
+ onCancelPress,
34
+ cancelAccessibilityLabel = "Cancel search",
35
35
  placeholder = "Search",
36
36
  isDisabled = false,
37
37
  size = "md",
38
38
  radius = "full",
39
+ background = "surface.sunken",
40
+ hasFocusGlow = true,
39
41
  returnKeyType = "search",
40
42
  clearButtonMode = "never",
43
+ style,
44
+ onFocus,
45
+ onBlur,
41
46
  ...rest
42
47
  }, ref) {
48
+ // The cancel button needs the native input to blur it, and the caller still
49
+ // gets the same instance through the forwarded ref.
50
+ const inputRef = useRef(null);
51
+ useImperativeHandle(ref, () => inputRef.current);
52
+
43
53
  // The clear button only exists while there is text, so an uncontrolled field
44
54
  // still has to be tracked. That state also has to drive the native input:
45
55
  // resetting it alone would hide the button while the text stayed on screen,
@@ -48,6 +58,21 @@ export const SearchInput = /*#__PURE__*/forwardRef(function SearchInput({
48
58
  const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue ?? "");
49
59
  const isControlled = value !== undefined;
50
60
  const text = isControlled ? value : uncontrolledValue;
61
+ // Ending the edit makes iOS commit any pending autocorrect suggestion as one
62
+ // last `onChangeText`. `onCancelPress` waits for the blur event, which comes
63
+ // after it, so a query cleared there is not overwritten by the late commit.
64
+ const isCancellingRef = useRef(false);
65
+ const handleBlurAfterCancel = useCallback(event => {
66
+ onBlur?.(event);
67
+ if (!isCancellingRef.current) return;
68
+ isCancellingRef.current = false;
69
+ onCancelPress?.();
70
+ }, [onBlur, onCancelPress]);
71
+ const {
72
+ isFocused,
73
+ handleFocus,
74
+ handleBlur
75
+ } = useFocusState(onFocus, handleBlurAfterCancel);
51
76
  const handleChangeText = useCallback(next => {
52
77
  if (!isControlled) setUncontrolledValue(next);
53
78
  onChangeText?.(next);
@@ -57,12 +82,25 @@ export const SearchInput = /*#__PURE__*/forwardRef(function SearchInput({
57
82
  onChangeText?.("");
58
83
  onClear?.();
59
84
  }, [isControlled, onChangeText, onClear]);
60
- const hasText = text.length > 0;
61
- return /*#__PURE__*/_jsx(InputField, {
62
- ref: ref,
85
+ const handleCancel = useCallback(() => {
86
+ const input = inputRef.current;
87
+ // No blur event will come for a field that is not focused, so call through.
88
+ if (!input?.isFocused()) {
89
+ onCancelPress?.();
90
+ return;
91
+ }
92
+ isCancellingRef.current = true;
93
+ input.blur();
94
+ }, [onCancelPress]);
95
+ const showsClear = isClearable && text.length > 0 && !isDisabled;
96
+ const showsCancel = isFocused && !isDisabled;
97
+ const field = /*#__PURE__*/_jsx(InputField, {
98
+ ref: inputRef,
63
99
  size: size,
64
100
  radius: radius,
101
+ background: background,
65
102
  isDisabled: isDisabled,
103
+ hasFocusGlow: hasFocusGlow,
66
104
  placeholder: placeholder,
67
105
  returnKeyType: returnKeyType
68
106
  // iOS's native clear button would sit beside ours; ours is the
@@ -71,30 +109,47 @@ export const SearchInput = /*#__PURE__*/forwardRef(function SearchInput({
71
109
  clearButtonMode: clearButtonMode,
72
110
  value: text,
73
111
  onChangeText: handleChangeText,
112
+ onFocus: handleFocus,
113
+ onBlur: handleBlur,
74
114
  leading: /*#__PURE__*/_jsx(Icon, {
75
115
  name: "terra.search",
76
116
  size: ICON_SIZE[size],
77
117
  color: "text.tertiary"
78
118
  }),
79
- trailing: isClearable && hasText && !isDisabled ? /*#__PURE__*/_jsx(Pressable, {
119
+ trailing: showsClear ? /*#__PURE__*/_jsx(SearchClearButton, {
120
+ size: size,
80
121
  accessibilityLabel: clearAccessibilityLabel,
81
- accessibilityRole: "button",
82
- hitSlop: CLEAR_HIT_SLOP,
83
- onPress: handleClear,
84
- style: styles.clear,
85
- children: /*#__PURE__*/_jsx(Icon, {
86
- name: "terra.x",
87
- size: ICON_SIZE[size],
88
- color: "text.tertiary"
89
- })
90
- }) : undefined,
122
+ onPress: handleClear
123
+ }) : undefined
124
+ // With a cancel button the row is the outer element, so `style` moves there.
125
+ ,
126
+ style: hasCancelButton ? undefined : style,
91
127
  ...rest
92
128
  });
129
+
130
+ // Without a cancel button the field renders bare, so its layout is unchanged.
131
+ if (!hasCancelButton) return field;
132
+ return /*#__PURE__*/_jsxs(View, {
133
+ style: [styles.row, style],
134
+ children: [/*#__PURE__*/_jsx(View, {
135
+ style: styles.fieldSlot,
136
+ children: field
137
+ }), /*#__PURE__*/_jsx(SearchCancelButton, {
138
+ isVisible: showsCancel,
139
+ size: size,
140
+ background: background,
141
+ accessibilityLabel: cancelAccessibilityLabel,
142
+ onPress: handleCancel
143
+ })]
144
+ });
93
145
  });
94
146
  const styles = StyleSheet.create(() => ({
95
- clear: {
96
- alignItems: "center",
97
- justifyContent: "center"
147
+ row: {
148
+ flexDirection: "row",
149
+ alignItems: "center"
150
+ },
151
+ fieldSlot: {
152
+ flex: 1
98
153
  }
99
154
  }));
100
155
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","useCallback","useState","StyleSheet","Icon","InputField","jsx","_jsx","ICON_SIZE","sm","md","lg","CLEAR_HIT_SLOP","SearchInput","value","defaultValue","onChangeText","onClear","isClearable","clearAccessibilityLabel","placeholder","isDisabled","size","radius","returnKeyType","clearButtonMode","rest","ref","uncontrolledValue","setUncontrolledValue","isControlled","undefined","text","handleChangeText","next","handleClear","hasText","length","leading","name","color","trailing","Pressable","accessibilityLabel","accessibilityRole","hitSlop","onPress","style","styles","clear","children","create","alignItems","justifyContent"],"sourceRoot":"../../../../../../src","sources":["components/input/variants/SearchInput/index.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["forwardRef","useCallback","useImperativeHandle","useRef","useState","StyleSheet","Icon","useFocusState","InputField","SearchCancelButton","SearchClearButton","ICON_SIZE","jsx","_jsx","jsxs","_jsxs","SearchInput","value","defaultValue","onChangeText","onClear","isClearable","clearAccessibilityLabel","hasCancelButton","onCancelPress","cancelAccessibilityLabel","placeholder","isDisabled","size","radius","background","hasFocusGlow","returnKeyType","clearButtonMode","style","onFocus","onBlur","rest","ref","inputRef","current","uncontrolledValue","setUncontrolledValue","isControlled","undefined","text","isCancellingRef","handleBlurAfterCancel","event","isFocused","handleFocus","handleBlur","handleChangeText","next","handleClear","handleCancel","input","blur","showsClear","length","showsCancel","field","leading","name","color","trailing","accessibilityLabel","onPress","View","styles","row","children","fieldSlot","isVisible","create","flexDirection","alignItems","flex"],"sourceRoot":"../../../../../../src","sources":["components/input/variants/SearchInput/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ /** Glyph size per field size, in dp. Shared by the magnifier and both buttons. */
4
+ export const ICON_SIZE = {
5
+ sm: 14,
6
+ md: 16,
7
+ lg: 18
8
+ };
9
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ICON_SIZE","sm","md","lg"],"sourceRoot":"../../../../../../src","sources":["components/input/variants/SearchInput/utils.ts"],"mappings":";;AAEA;AACA,OAAO,MAAMA,SAAoC,GAAG;EAAEC,EAAE,EAAE,EAAE;EAAEC,EAAE,EAAE,EAAE;EAAEC,EAAE,EAAE;AAAG,CAAC","ignoreList":[]}
@@ -124,7 +124,11 @@ const ScreenListBase = /*#__PURE__*/forwardRef(function ScreenList({
124
124
  */,
125
125
  contentInsetAdjustmentBehavior: platformAdjustsInsets ? "automatic" : "never",
126
126
  automaticallyAdjustContentInsets: false,
127
- automaticallyAdjustsScrollIndicatorInsets: false,
127
+ automaticallyAdjustsScrollIndicatorInsets: false
128
+ // iOS: inset by the keyboard so a focused field can scroll above it.
129
+ ,
130
+ automaticallyAdjustKeyboardInsets: true,
131
+ keyboardShouldPersistTaps: "handled",
128
132
  contentContainerStyle: [styles.content(resolvedPadding, hasHeader, hasLargeTitle, bottomInset, extraBottomPadding, headerAccessoryHeight), contentContainerStyle],
129
133
  ListHeaderComponent: header,
130
134
  ListFooterComponent: footer,
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","useEffect","useMemo","StyleSheet","NativeStyleSheet","Animated","useUnistyles","resolveScreenPadding","useNestedContainerWarning","useScreenRef","useScreenScrollHandler","ScreenBottomInset","ScreenHeaderContent","renderScreenPlaceholder","useScreen","hasHorizontalPadding","hasVerticalPadding","renderListComponent","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ScreenListBase","ScreenList","as","data","renderItem","style","contentContainerStyle","ListHeaderComponent","ListFooterComponent","ListEmptyComponent","horizontal","isLoading","loading","loadingContent","LoadingComponent","emptyContent","EmptyComponent","contentPadding","margins","bottomInset","extraBottomPadding","scrollHandler","externalScrollHandler","onScroll","rest","ref","isDefaultFlatList","undefined","FlatList","Component","AnimatedComponent","createAnimatedComponent","background","scrollRef","headerSnapOffsets","screenPadding","hasHeader","headerAccessoryHeight","hasLargeTitle","setContentTopPadding","contentOwnsBottomInset","platformAdjustsInsets","ownsBottomInset","mergedRef","resolvedPadding","theme","rt","y","paddingY","breakpoint","defaultTopPadding","layout","header","height","paddingTopOverride","flatten","paddingTop","contentTopPadding","resolvedLoading","placeholder","isEmpty","length","composedScrollHandler","children","View","styles","headerWrapper","footer","backgroundColor","contentInsetAdjustmentBehavior","automaticallyAdjustContentInsets","automaticallyAdjustsScrollIndicatorInsets","content","showsVerticalScrollIndicator","scrollEventThrottle","snapToOffsets","displayName","create","runtime","padding","accessoryHeight","x","flexGrow","paddingHorizontal","paddingBottom","uni__dependencies","marginHorizontal"],"sourceRoot":"../../../../src","sources":["components/screen/ScreenList.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["forwardRef","useEffect","useMemo","StyleSheet","NativeStyleSheet","Animated","useUnistyles","resolveScreenPadding","useNestedContainerWarning","useScreenRef","useScreenScrollHandler","ScreenBottomInset","ScreenHeaderContent","renderScreenPlaceholder","useScreen","hasHorizontalPadding","hasVerticalPadding","renderListComponent","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ScreenListBase","ScreenList","as","data","renderItem","style","contentContainerStyle","ListHeaderComponent","ListFooterComponent","ListEmptyComponent","horizontal","isLoading","loading","loadingContent","LoadingComponent","emptyContent","EmptyComponent","contentPadding","margins","bottomInset","extraBottomPadding","scrollHandler","externalScrollHandler","onScroll","rest","ref","isDefaultFlatList","undefined","FlatList","Component","AnimatedComponent","createAnimatedComponent","background","scrollRef","headerSnapOffsets","screenPadding","hasHeader","headerAccessoryHeight","hasLargeTitle","setContentTopPadding","contentOwnsBottomInset","platformAdjustsInsets","ownsBottomInset","mergedRef","resolvedPadding","theme","rt","y","paddingY","breakpoint","defaultTopPadding","layout","header","height","paddingTopOverride","flatten","paddingTop","contentTopPadding","resolvedLoading","placeholder","isEmpty","length","composedScrollHandler","children","View","styles","headerWrapper","footer","backgroundColor","contentInsetAdjustmentBehavior","automaticallyAdjustContentInsets","automaticallyAdjustsScrollIndicatorInsets","automaticallyAdjustKeyboardInsets","keyboardShouldPersistTaps","content","showsVerticalScrollIndicator","scrollEventThrottle","snapToOffsets","displayName","create","runtime","padding","accessoryHeight","x","flexGrow","paddingHorizontal","paddingBottom","uni__dependencies","marginHorizontal"],"sourceRoot":"../../../../src","sources":["components/screen/ScreenList.tsx"],"mappings":"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","ignoreList":[]}
@@ -93,7 +93,11 @@ export const ScreenScrollView = /*#__PURE__*/forwardRef(function ScreenScrollVie
93
93
  */,
94
94
  contentInsetAdjustmentBehavior: platformAdjustsInsets ? "automatic" : "never",
95
95
  automaticallyAdjustContentInsets: false,
96
- automaticallyAdjustsScrollIndicatorInsets: false,
96
+ automaticallyAdjustsScrollIndicatorInsets: false
97
+ // iOS: inset by the keyboard so a focused field can scroll above it.
98
+ ,
99
+ automaticallyAdjustKeyboardInsets: true,
100
+ keyboardShouldPersistTaps: "handled",
97
101
  showsVerticalScrollIndicator: false,
98
102
  scrollEventThrottle: 16,
99
103
  contentContainerStyle: [styles.scrollContent(hasHeader, hasLargeTitle, resolvedPadding, extraBottomPadding, headerAccessoryHeight), contentContainerStyle],
@@ -1 +1 @@
1
- {"version":3,"names":["Children","forwardRef","useCallback","Animated","StyleSheet","resolveScreenPadding","useNestedContainerWarning","useScreenRef","useScreenScrollHandler","ScreenBottomInset","ScreenHeaderContent","renderScreenPlaceholder","useScreen","hasHorizontalPadding","hasVerticalPadding","jsx","_jsx","jsxs","_jsxs","ScreenScrollView","children","style","contentContainerStyle","contentStyle","scrollHandler","externalScrollHandler","onScroll","horizontal","isLoading","loading","loadingContent","LoadingComponent","emptyContent","EmptyComponent","contentPadding","margins","extraBottomPadding","isEmpty","rest","ref","scrollRef","screenPadding","hasHeader","headerAccessoryHeight","hasLargeTitle","setContentTopPadding","background","contentOwnsBottomInset","platformAdjustsInsets","ownsBottomInset","resolvedPadding","mergedRef","placeholder","undefined","toArray","length","composedScrollHandler","handleHeaderWrapperLayout","event","nativeEvent","layout","y","ScrollView","backgroundColor","contentInsetAdjustmentBehavior","automaticallyAdjustContentInsets","automaticallyAdjustsScrollIndicatorInsets","showsVerticalScrollIndicator","scrollEventThrottle","styles","scrollContent","View","headerWrapper","onLayout","content","displayName","create","theme","runtime","padding","accessoryHeight","x","breakpoint","flexGrow","paddingTop","header","height","paddingHorizontal","paddingBottom","uni__dependencies","marginHorizontal","flexDirection"],"sourceRoot":"../../../../src","sources":["components/screen/ScreenScrollView.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Children","forwardRef","useCallback","Animated","StyleSheet","resolveScreenPadding","useNestedContainerWarning","useScreenRef","useScreenScrollHandler","ScreenBottomInset","ScreenHeaderContent","renderScreenPlaceholder","useScreen","hasHorizontalPadding","hasVerticalPadding","jsx","_jsx","jsxs","_jsxs","ScreenScrollView","children","style","contentContainerStyle","contentStyle","scrollHandler","externalScrollHandler","onScroll","horizontal","isLoading","loading","loadingContent","LoadingComponent","emptyContent","EmptyComponent","contentPadding","margins","extraBottomPadding","isEmpty","rest","ref","scrollRef","screenPadding","hasHeader","headerAccessoryHeight","hasLargeTitle","setContentTopPadding","background","contentOwnsBottomInset","platformAdjustsInsets","ownsBottomInset","resolvedPadding","mergedRef","placeholder","undefined","toArray","length","composedScrollHandler","handleHeaderWrapperLayout","event","nativeEvent","layout","y","ScrollView","backgroundColor","contentInsetAdjustmentBehavior","automaticallyAdjustContentInsets","automaticallyAdjustsScrollIndicatorInsets","automaticallyAdjustKeyboardInsets","keyboardShouldPersistTaps","showsVerticalScrollIndicator","scrollEventThrottle","styles","scrollContent","View","headerWrapper","onLayout","content","displayName","create","theme","runtime","padding","accessoryHeight","x","breakpoint","flexGrow","paddingTop","header","height","paddingHorizontal","paddingBottom","uni__dependencies","marginHorizontal","flexDirection"],"sourceRoot":"../../../../src","sources":["components/screen/ScreenScrollView.tsx"],"mappings":";;;AAAA,SAASA,QAAQ,EAAqBC,UAAU,EAAkBC,WAAW,QAAQ,OAAO;AAU5F,OAAOC,QAAQ,MAAM,yBAAyB;AAC9C,SAASC,UAAU,QAAQ,wBAAwB;AAEnD,SAASC,oBAAoB;AAC7B,SAASC,yBAAyB;AAClC,SAASC,YAAY;AACrB,SAASC,sBAAsB;AAC/B,SAASC,iBAAiB;AAC1B,SAASC,mBAAmB;AAC5B,SAASC,uBAAuB;AAChC,SAASC,SAAS;AAElB,SAASC,oBAAoB,EAAEC,kBAAkB;;AAEjD;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,gBAAGlB,UAAU,CACxC,SAASkB,gBAAgBA,CACvB;EACEC,QAAQ;EACRC,KAAK;EACLC,qBAAqB;EACrBC,YAAY;EACZC,aAAa,EAAEC,qBAAqB;EACpCC,QAAQ;EACRC,UAAU,GAAG,KAAK;EAClBC,SAAS;EACTC,OAAO,GAAG,KAAK;EACfC,cAAc;EACdC,gBAAgB;EAChBC,YAAY;EACZC,cAAc;EACdC,cAAc;EACdC,OAAO;EACPC,kBAAkB,GAAG,CAAC;EACtBC,OAAO;EACP,GAAGC;AACL,CAAC,EACDC,GAAG,EACH;EACA,MAAM;IACJC,SAAS;IACThB,aAAa;IACbU,cAAc,EAAEO,aAAa;IAC7BC,SAAS;IACTC,qBAAqB;IACrBC,aAAa;IACbC,oBAAoB;IACpBC,UAAU;IACVC,sBAAsB;IACtBC;EACF,CAAC,GAAGpC,SAAS,CAAC,CAAC;EACf;EACA;EACA,MAAMqC,eAAe,GAAGF,sBAAsB,IAAI,CAACpB,UAAU;EAC7DrB,yBAAyB,CAAC,mBAAmB,EAAEqB,UAAU,CAAC;EAC1D,MAAMuB,eAAe,GAAGhB,cAAc,IAAIC,OAAO,IAAIM,aAAa;EAClE,MAAMU,SAAS,GAAG5C,YAAY,CAACiC,SAAS,EAAED,GAAG,CAAC;EAC9C,MAAMa,WAAW,GAAGzC,uBAAuB,CAAC;IAC1CiB,SAAS,EAAEA,SAAS,IAAIC,OAAO;IAC/BC,cAAc,EAAEA,cAAc,KAAKuB,SAAS,GAAGvB,cAAc,GAAIC,gBAAgB,IAAIsB,SAAU;IAC/FrB,YAAY,EAAEA,YAAY,KAAKqB,SAAS,GAAGrB,YAAY,GAAGC,cAAc;IACxEI,OAAO,EAAEA,OAAO,IAAIrC,QAAQ,CAACsD,OAAO,CAAClC,QAAQ,CAAC,CAACmC,MAAM,KAAK;EAC5D,CAAC,CAAC;EACF,MAAMC,qBAAqB,GAAGhD,sBAAsB,CAACgB,aAAa,EAAEE,QAAQ,EAAED,qBAAqB,CAAC;EACpG;EACA,MAAMgC,yBAAyB,GAAGvD,WAAW,CAC1CwD,KAAwB,IAAKb,oBAAoB,CAACa,KAAK,CAACC,WAAW,CAACC,MAAM,CAACC,CAAC,CAAC,EAC9E,CAAChB,oBAAoB,CACvB,CAAC;EAED,oBACE3B,KAAA,CAACf,QAAQ,CAAC2D,UAAU;IAClBvB,GAAG,EAAEY,SAAU;IACf9B,KAAK,EAAE,CAAC;MAAE0C,eAAe,EAAEjB;IAAW,CAAC,EAAEzB,KAAK,CAAE;IAChDM,UAAU,EAAEA;IACZ;AACR;AACA;AACA;AACA,MAJQ;IAKAqC,8BAA8B,EAAEhB,qBAAqB,GAAG,WAAW,GAAG,OAAQ;IAC9EiB,gCAAgC,EAAE,KAAM;IACxCC,yCAAyC,EAAE;IAC3C;IAAA;IACAC,iCAAiC;IACjCC,yBAAyB,EAAC,SAAS;IACnCC,4BAA4B,EAAE,KAAM;IACpCC,mBAAmB,EAAE,EAAG;IACxBhD,qBAAqB,EAAE,CACrBiD,MAAM,CAACC,aAAa,CAClB9B,SAAS,EACTE,aAAa,EACbM,eAAe,EACfd,kBAAkB,EAClBO,qBACF,CAAC,EACDrB,qBAAqB,CACrB;IAAA,GACEgB,IAAI;IACRZ,QAAQ,EAAE8B,qBAAsB;IAAApC,QAAA,gBAEhCJ,IAAA,CAACyD,IAAI;MAACpD,KAAK,EAAEkD,MAAM,CAACG,aAAa,CAACxB,eAAe,CAAE;MAACyB,QAAQ,EAAElB,yBAA0B;MAAArC,QAAA,eACtFJ,IAAA,CAACN,mBAAmB;QAACwB,cAAc,EAAEP,UAAU,GAAG,MAAM,GAAGuB;MAAgB,CAAE;IAAC,CAC1E,CAAC,eACPlC,IAAA,CAACyD,IAAI;MAACpD,KAAK,EAAE,CAACkD,MAAM,CAACK,OAAO,CAACjD,UAAU,CAAC,EAAEJ,YAAY,CAAE;MAAAH,QAAA,EAAEgC,WAAW,IAAIhC;IAAQ,CAAO,CAAC,EACxF6B,eAAe,iBAAIjC,IAAA,CAACP,iBAAiB,IAAE,CAAC;EAAA,CACtB,CAAC;AAE1B,CACF,CAAC;AAEDU,gBAAgB,CAAC0D,WAAW,GAAG,mBAAmB;AAElD,MAAMN,MAAM,GAAGnE,UAAU,CAAC0E,MAAM,CAAC,CAACC,KAAK,EAAEC,OAAO,MAAM;EACpDR,aAAa,EAAEA,CACb9B,SAAkB,EAClBE,aAAsB,EACtBqC,OAA6B,EAC7B7C,kBAA0B,EAC1B8C,eAAuB,KACpB;IACH,MAAM;MAAEC,CAAC;MAAEtB;IAAE,CAAC,GAAGxD,oBAAoB,CAAC0E,KAAK,EAAEC,OAAO,CAACI,UAAU,CAAC;IAChE,OAAO;MACLC,QAAQ,EAAE,CAAC;MACX;MACA;MACA;MACAC,UAAU,EACR,CAAC5C,SAAS,GAAGqC,KAAK,CAACnB,MAAM,CAAC2B,MAAM,CAACC,MAAM,GAAGN,eAAe,GAAG,CAAC,KAC5DpE,kBAAkB,CAACmE,OAAO,CAAC,IAAI,CAACrC,aAAa,GAAGiB,CAAC,GAAG,CAAC,CAAC;MACzD4B,iBAAiB,EAAE5E,oBAAoB,CAACoE,OAAO,CAAC,GAAGE,CAAC,GAAG,CAAC;MACxDO,aAAa,EAAE,CAAC5E,kBAAkB,CAACmE,OAAO,CAAC,GAAGpB,CAAC,GAAG,CAAC,IAAIzB,kBAAkB;MAAAuD,iBAAA;IAC3E,CAAC;EACH,CAAC;EACDjB,aAAa,EAAGO,OAA6B,KAAM;IACjDW,gBAAgB,EAAE/E,oBAAoB,CAACoE,OAAO,CAAC,GAAG,CAAC5E,oBAAoB,CAAC0E,KAAK,EAAEC,OAAO,CAACI,UAAU,CAAC,CAACD,CAAC,GAAG,CAAC;IAAAQ,iBAAA;EAC1G,CAAC,CAAC;EACFf,OAAO,EAAGjD,UAAmB,KAAM;IAAE0D,QAAQ,EAAE,CAAC;IAAEQ,aAAa,EAAElE,UAAU,GAAG,KAAK,GAAG;EAAS,CAAC;AAClG,CAAC,CAAC,CAAC","ignoreList":[]}
@@ -12,7 +12,7 @@ export const light = {
12
12
  "color.surface.sunken": "{palette.neutral.100}",
13
13
  // Text
14
14
  "color.text.primary": "{palette.neutral.950}",
15
- "color.text.secondary": "#4a4a52",
15
+ "color.text.secondary": "#55555d",
16
16
  "color.text.tertiary": "#6e6e76",
17
17
  "color.text.disabled": "#d4d4d8",
18
18
  "color.text.inverse": "{palette.white}",
@@ -13,9 +13,11 @@ interface HeaderBarProps extends HeaderDismissProps {
13
13
  titleAlignment: "center" | "left";
14
14
  color: string;
15
15
  surfaceStyle?: HeaderSurfaceProps["animatedStyle"];
16
+ /** An accessory sits under the bar, so the bar's surface stays solid. */
17
+ hasAccessory?: boolean;
16
18
  titleStyle?: ComponentProps<typeof Animated.View>["style"];
17
19
  }
18
20
  /** Shared compact bar. Only the title and background animate; actions stay interactive. */
19
- export declare function HeaderBar({ title, titleVariant, titleWeight, subtitle, leading, trailing, titleAlignment, color, surfaceStyle, titleStyle, dismissAction, navigation, onDismiss, }: HeaderBarProps): import("react").JSX.Element;
21
+ export declare function HeaderBar({ title, titleVariant, titleWeight, subtitle, leading, trailing, titleAlignment, color, surfaceStyle, hasAccessory, titleStyle, dismissAction, navigation, onDismiss, }: HeaderBarProps): import("react").JSX.Element;
20
22
  export {};
21
23
  //# sourceMappingURL=HeaderBar.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderBar.d.ts","sourceRoot":"","sources":["../../../../../../src/components/header/parts/HeaderBar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AAGtE,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAI/C,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAKjE,OAAO,EAAuB,KAAK,kBAAkB,EAAE,MAAM,sBAAmB,CAAC;AAEjF,OAAO,EAAiB,KAAK,kBAAkB,EAAE,MAAM,oBAAiB,CAAC;AAGzE,UAAU,cAAe,SAAQ,kBAAkB;IACjD,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,QAAQ,GAAG,MAAM,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,kBAAkB,CAAC,eAAe,CAAC,CAAC;IACnD,UAAU,CAAC,EAAE,cAAc,CAAC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;CAC5D;AAED,2FAA2F;AAC3F,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,YAAyB,EACzB,WAAW,EACX,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,cAAc,EACd,KAAK,EACL,YAAY,EACZ,UAAU,EACV,aAAsB,EACtB,UAAU,EACV,SAAS,GACV,EAAE,cAAc,+BAqFhB"}
1
+ {"version":3,"file":"HeaderBar.d.ts","sourceRoot":"","sources":["../../../../../../src/components/header/parts/HeaderBar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAY,MAAM,OAAO,CAAC;AAGtE,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAI/C,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAKjE,OAAO,EAAuB,KAAK,kBAAkB,EAAE,MAAM,sBAAmB,CAAC;AAEjF,OAAO,EAAiB,KAAK,kBAAkB,EAAE,MAAM,oBAAiB,CAAC;AAGzE,UAAU,cAAe,SAAQ,kBAAkB;IACjD,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,cAAc,EAAE,QAAQ,GAAG,MAAM,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,kBAAkB,CAAC,eAAe,CAAC,CAAC;IACnD,yEAAyE;IACzE,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,UAAU,CAAC,EAAE,cAAc,CAAC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC;CAC5D;AAED,2FAA2F;AAC3F,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,YAAyB,EACzB,WAAW,EACX,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,cAAc,EACd,KAAK,EACL,YAAY,EACZ,YAAoB,EACpB,UAAU,EACV,aAAsB,EACtB,UAAU,EACV,SAAS,GACV,EAAE,cAAc,+BAqFhB"}
@@ -5,9 +5,9 @@
5
5
  */
6
6
  export declare const HEADER_FADE_END_OPACITY = 0.9;
7
7
  export interface HeaderGradientOverlayProps {
8
- /** Fill color, ramped from opaque to {@link HEADER_FADE_END_OPACITY}. */
8
+ /** Fill color, ramped from opaque to `endOpacity`. */
9
9
  color: string;
10
- startOpacity?: number;
10
+ /** Opacity at the bottom edge. Defaults to {@link HEADER_FADE_END_OPACITY}; `1` is a solid fill. */
11
11
  endOpacity?: number;
12
12
  }
13
13
  /**
@@ -17,5 +17,5 @@ export interface HeaderGradientOverlayProps {
17
17
  * the surface nor reserves a band inside it, so callers size the surface and
18
18
  * the ramp simply spans whatever they gave it.
19
19
  */
20
- export declare function HeaderGradientOverlay({ color, startOpacity, endOpacity, }: HeaderGradientOverlayProps): import("react").JSX.Element;
20
+ export declare function HeaderGradientOverlay({ color, endOpacity, }: HeaderGradientOverlayProps): import("react").JSX.Element;
21
21
  //# sourceMappingURL=HeaderGradientOverlay.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderGradientOverlay.d.ts","sourceRoot":"","sources":["../../../../../../src/components/header/parts/HeaderGradientOverlay.tsx"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAE3C,MAAM,WAAW,0BAA0B;IACzC,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,YAAgB,EAChB,UAAoC,GACrC,EAAE,0BAA0B,+BAc5B"}
1
+ {"version":3,"file":"HeaderGradientOverlay.d.ts","sourceRoot":"","sources":["../../../../../../src/components/header/parts/HeaderGradientOverlay.tsx"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,MAAM,CAAC;AAE3C,MAAM,WAAW,0BAA0B;IACzC,sDAAsD;IACtD,KAAK,EAAE,MAAM,CAAC;IACd,oGAAoG;IACpG,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,UAAoC,GACrC,EAAE,0BAA0B,+BAc5B"}
@@ -7,15 +7,24 @@ export interface HeaderSurfaceProps {
7
7
  color: string;
8
8
  /** Opacity style for variants that fade the whole surface in as they collapse. */
9
9
  animatedStyle?: HeaderOpacityStyle;
10
- /** Continue the bar's gradient from 0.85 to 0.80 beneath an accessory. */
10
+ /** This surface is an accessory's: it carries the fade, from solid to the end opacity. */
11
11
  accessory?: boolean;
12
+ /**
13
+ * An accessory sits under this bar. The bar then stays solid, since the
14
+ * header's bottom edge, where the fade belongs, is the accessory's.
15
+ */
16
+ hasAccessoryBelow?: boolean;
12
17
  }
13
18
  /**
14
- * Header background with matching gradient boundaries for the bar and accessory.
19
+ * Header background. One fade per header, at its bottom edge: the bar's when it
20
+ * stands alone, the accessory's when there is one, with the bar solid above it.
21
+ * Content scrolling under a pinned accessory then meets a header as opaque as
22
+ * any other, rather than one that thinned twice, once at each part's edge, and
23
+ * let saturated rows show through around a search field.
15
24
  *
16
25
  * The ramp spans the surface itself: it is sized by the caller and stays inside
17
26
  * those bounds, so a taller surface stretches the fade rather than adding to it.
18
27
  */
19
- export declare function HeaderSurface({ color, animatedStyle, accessory }: HeaderSurfaceProps): import("react").JSX.Element;
28
+ export declare function HeaderSurface({ color, animatedStyle, accessory, hasAccessoryBelow }: HeaderSurfaceProps): import("react").JSX.Element;
20
29
  export {};
21
30
  //# sourceMappingURL=HeaderSurface.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HeaderSurface.d.ts","sourceRoot":"","sources":["../../../../../../src/components/header/parts/HeaderSurface.tsx"],"names":[],"mappings":"AAAA,OAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAK1E,KAAK,kBAAkB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAAC;AAEnF,MAAM,WAAW,kBAAkB;IACjC,2DAA2D;IAC3D,KAAK,EAAE,MAAM,CAAC;IACd,kFAAkF;IAClF,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC,0EAA0E;IAC1E,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,kBAAkB,+BAUpF"}
1
+ {"version":3,"file":"HeaderSurface.d.ts","sourceRoot":"","sources":["../../../../../../src/components/header/parts/HeaderSurface.tsx"],"names":[],"mappings":"AAAA,OAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAK1E,KAAK,kBAAkB,GAAG,UAAU,CAAC,OAAO,gBAAgB,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC,CAAC;AAEnF,MAAM,WAAW,kBAAkB;IACjC,2DAA2D;IAC3D,KAAK,EAAE,MAAM,CAAC;IACd,kFAAkF;IAClF,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC,0FAA0F;IAC1F,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,iBAAiB,EAAE,EAAE,kBAAkB,+BAOvG"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/header/variants/LargeTitleHeader/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAQjE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAa,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAgB,CAAC;AAGvD,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC7D,8EAA8E;IAC9E,iBAAiB,CAAC,EAAE,WAAW,CAAC;IAChC,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,eAAe,CAAC;IACnC,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;IAC5C;;;OAGG;IACH,cAAc,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;CACpC;AAED,uGAAuG;AACvG,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,eAAe,EACf,WAAW,EACX,YAAY,EACZ,SAAS,EACT,gBAAsB,EACtB,iBAA4B,EAC5B,cAAyB,EACzB,kBAA0B,EAC1B,UAAU,EACV,EAAE,EACF,GAAG,YAAY,EAChB,EAAE,qBAAqB,+BAkDvB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/header/variants/LargeTitleHeader/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAQjE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAa,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAgB,CAAC;AAGvD,MAAM,WAAW,qBAAsB,SAAQ,gBAAgB;IAC7D,8EAA8E;IAC9E,iBAAiB,CAAC,EAAE,WAAW,CAAC;IAChC,4EAA4E;IAC5E,gBAAgB,CAAC,EAAE,eAAe,CAAC;IACnC,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2DAA2D;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yEAAyE;IACzE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,uBAAuB,CAAC;IAC5C;;;OAGG;IACH,cAAc,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;CACpC;AAED,uGAAuG;AACvG,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,eAAe,EACf,WAAW,EACX,YAAY,EACZ,SAAS,EACT,gBAAsB,EACtB,iBAA4B,EAC5B,cAAyB,EACzB,kBAA0B,EAC1B,UAAU,EACV,EAAE,EACF,GAAG,YAAY,EAChB,EAAE,qBAAqB,+BAmDvB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/header/variants/TitleHeader/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAc,MAAM,OAAO,CAAC;AAKnD,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAsB,CAAC;AAI/D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAa,CAAC;AAE1D,MAAM,WAAW,gBAAiB,SAAQ,kBAAkB;IAC1D;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;OAGG;IACH,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,yFAAyF;IACzF,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,sCAAsC;IACtC,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;;OAGG;IACH,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,uCAAuC;IACvC,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB;;;;OAIG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C,8DAA8D;IAC9D,cAAc,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IACnC,mGAAmG;IACnG,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,kCAAkC;IAClC,EAAE,CAAC,EAAE,UAAU,CAAC;CACjB;AAED,kGAAkG;AAClG,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,cAAc,EACd,eAAe,EACf,WAAW,EACX,YAAY,EACZ,SAAS,EACT,gBAAsB,EACtB,cAAyB,EACzB,UAAU,EACV,EAAE,EACF,GAAG,YAAY,EAChB,EAAE,gBAAgB,+BA6BlB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/header/variants/TitleHeader/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAc,MAAM,OAAO,CAAC;AAKnD,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAG7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAsB,CAAC;AAI/D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAa,CAAC;AAE1D,MAAM,WAAW,gBAAiB,SAAQ,kBAAkB;IAC1D;;;;OAIG;IACH,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB;;;OAGG;IACH,YAAY,CAAC,EAAE,WAAW,CAAC;IAC3B,yFAAyF;IACzF,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,sCAAsC;IACtC,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB;;;OAGG;IACH,eAAe,CAAC,EAAE,SAAS,CAAC;IAC5B,uCAAuC;IACvC,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB;;;;OAIG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C,8DAA8D;IAC9D,cAAc,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IACnC,mGAAmG;IACnG,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,kCAAkC;IAClC,EAAE,CAAC,EAAE,UAAU,CAAC;CACjB;AAED,kGAAkG;AAClG,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,cAAc,EACd,eAAe,EACf,WAAW,EACX,YAAY,EACZ,SAAS,EACT,gBAAsB,EACtB,cAAyB,EACzB,UAAU,EACV,EAAE,EACF,GAAG,YAAY,EAChB,EAAE,gBAAgB,+BA8BlB"}
@@ -0,0 +1,15 @@
1
+ import type { TextInputProps } from "react-native";
2
+ type FocusHandler = NonNullable<TextInputProps["onFocus"]>;
3
+ type BlurHandler = NonNullable<TextInputProps["onBlur"]>;
4
+ /**
5
+ * Track whether a `TextInput` is focused while still forwarding the caller's
6
+ * own `onFocus` / `onBlur`. Shared by the field (for its focus ring) and by
7
+ * variants that show extra controls while focused.
8
+ */
9
+ export declare function useFocusState(onFocus?: FocusHandler, onBlur?: BlurHandler): {
10
+ isFocused: boolean;
11
+ handleFocus: (e: import("react-native").TextInputFocusEvent) => unknown;
12
+ handleBlur: (e: import("react-native/types_generated/Libraries/Components/TextInput/TextInput.flow").TextInputBlurEvent) => unknown;
13
+ };
14
+ export {};
15
+ //# sourceMappingURL=use-focus-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-focus-state.d.ts","sourceRoot":"","sources":["../../../../../../src/components/input/hooks/use-focus-state.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,KAAK,YAAY,GAAG,WAAW,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;AAC3D,KAAK,WAAW,GAAG,WAAW,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;AAEzD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,WAAW;;;;EAoBzE"}
@@ -1,4 +1,6 @@
1
- import type { InputBaseProps } from "../types.js";
1
+ import type { InputBaseProps, InputSize } from "../types.js";
2
+ /** Container height per size, in dp. Sibling controls sized to match read from here. */
3
+ export declare const FIELD_HEIGHT: Record<InputSize, number>;
2
4
  /**
3
5
  * The field every input in the family renders: a themed container with optional
4
6
  * leading and trailing slots around a native `TextInput`. Internal — consumers
@@ -1 +1 @@
1
- {"version":3,"file":"InputField.d.ts","sourceRoot":"","sources":["../../../../../../src/components/input/parts/InputField.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAa,MAAM,aAAU,CAAC;AAS1D;;;;GAIG;AACH,eAAO,MAAM,UAAU,oMA0DrB,CAAC"}
1
+ {"version":3,"file":"InputField.d.ts","sourceRoot":"","sources":["../../../../../../src/components/input/parts/InputField.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,aAAU,CAAC;AAE1D,wFAAwF;AACxF,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAA8B,CAAC;AASlF;;;;GAIG;AACH,eAAO,MAAM,UAAU,oMAqDrB,CAAC"}
@@ -21,8 +21,18 @@ export interface InputBaseProps extends Omit<TextInputProps, "style" | "editable
21
21
  trailing?: ReactNode;
22
22
  /** Fill token. Defaults to `'surface.sunken'`. */
23
23
  background?: ColorToken;
24
- /** Corner radius. Defaults to `'md'`. */
24
+ /** Corner radius. Defaults to `'lg'`; `Input.Search` uses `'full'`. */
25
25
  radius?: RadiusKey;
26
+ /** Border colour while focused. Defaults to `undefined` — the resting border stays. */
27
+ focusBorderColor?: ColorToken;
28
+ /** Border width while focused, in dp. Defaults to `undefined` — the resting hairline stays. */
29
+ focusBorderWidth?: number;
30
+ /**
31
+ * Surround the field with a soft glow while focused, tinted by
32
+ * `focusBorderColor` or `border.default` when that is unset. Defaults to
33
+ * `false`; `Input.Search` turns it on.
34
+ */
35
+ hasFocusGlow?: boolean;
26
36
  /** Merged over the container's own style. */
27
37
  style?: StyleProp<ViewStyle>;
28
38
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/input/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzE,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE1D,wCAAwC;AACxC,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE3C;;;;GAIG;AACH,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,UAAU,CAAC;IAChF,sDAAsD;IACtD,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iEAAiE;IACjE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sDAAsD;IACtD,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,kDAAkD;IAClD,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,yCAAyC;IACzC,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/input/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzE,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE1D,wCAAwC;AACxC,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE3C;;;;GAIG;AACH,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,UAAU,CAAC;IAChF,sDAAsD;IACtD,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,iEAAiE;IACjE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sDAAsD;IACtD,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,kDAAkD;IAClD,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,uEAAuE;IACvE,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,uFAAuF;IACvF,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAC9B,+FAA+F;IAC/F,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B"}
@@ -0,0 +1,19 @@
1
+ import type { ColorToken } from "../../../../theme/types";
2
+ import type { InputSize } from "../../types.js";
3
+ interface SearchCancelButtonProps {
4
+ /** Slides the button in when `true` and out when `false`. */
5
+ isVisible: boolean;
6
+ size: InputSize;
7
+ /** Fill token, matched to the field it sits beside. */
8
+ background: ColorToken;
9
+ accessibilityLabel: string;
10
+ onPress: () => void;
11
+ }
12
+ /**
13
+ * A round button the height of the field, in a slot that opens and closes
14
+ * beside it. The slot stays mounted so it can animate out; while collapsed it
15
+ * is hidden from touch and from screen readers.
16
+ */
17
+ export declare function SearchCancelButton({ isVisible, size, background, accessibilityLabel, onPress, }: SearchCancelButtonProps): import("react").JSX.Element;
18
+ export {};
19
+ //# sourceMappingURL=SearchCancelButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchCancelButton.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/input/variants/SearchInput/SearchCancelButton.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAK/C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAa,CAAC;AAY7C,UAAU,uBAAuB;IAC/B,6DAA6D;IAC7D,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,SAAS,CAAC;IAChB,uDAAuD;IACvD,UAAU,EAAE,UAAU,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,EACjC,SAAS,EACT,IAAI,EACJ,UAAU,EACV,kBAAkB,EAClB,OAAO,GACR,EAAE,uBAAuB,+BAuCzB"}
@@ -0,0 +1,13 @@
1
+ import type { InputSize } from "../../types.js";
2
+ interface SearchClearButtonProps {
3
+ size: InputSize;
4
+ accessibilityLabel: string;
5
+ onPress: () => void;
6
+ }
7
+ /**
8
+ * A solid disc with an x, like iOS's `xmark.circle.fill`. Sized to the field's
9
+ * glyphs so it sits in the trailing slot without changing the row height.
10
+ */
11
+ export declare function SearchClearButton({ size, accessibilityLabel, onPress }: SearchClearButtonProps): import("react").JSX.Element;
12
+ export {};
13
+ //# sourceMappingURL=SearchClearButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchClearButton.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/input/variants/SearchInput/SearchClearButton.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAa,CAAC;AAY7C,UAAU,sBAAsB;IAC9B,IAAI,EAAE,SAAS,CAAC;IAChB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,EAAE,sBAAsB,+BAmB9F"}
@@ -9,15 +9,29 @@ export interface SearchInputProps extends Omit<InputBaseProps, "leading" | "trai
9
9
  isClearable?: boolean;
10
10
  /** Accessible name of the clear button. Defaults to `'Clear search'`. */
11
11
  clearAccessibilityLabel?: string;
12
+ /**
13
+ * Show a round cancel button beside the field while it is focused. Pressing it
14
+ * blurs the field and calls `onCancelPress`. Defaults to `false`.
15
+ */
16
+ hasCancelButton?: boolean;
17
+ /**
18
+ * Called when the cancel button is pressed, after the field has blurred. The
19
+ * text is left alone; clear it here if cancelling should also reset the query.
20
+ */
21
+ onCancelPress?: () => void;
22
+ /** Accessible name of the cancel button. Defaults to `'Cancel search'`. */
23
+ cancelAccessibilityLabel?: string;
12
24
  }
13
25
  /**
14
26
  * A search field: a leading magnifier, and a clear button that appears as soon
15
27
  * as there is text. Controlled through `value` or left to manage its own, and
16
- * it defaults to the search return key so the keyboard reads correctly.
28
+ * it defaults to the search return key so the keyboard reads correctly. With
29
+ * `hasCancelButton`, a round cancel button slides in beside it while focused.
17
30
  *
18
31
  * @example
19
32
  * ```tsx
20
33
  * <Input.Search value={query} onChangeText={setQuery} onSubmitEditing={run} />
34
+ * <Input.Search hasCancelButton onCancelPress={() => setQuery("")} />
21
35
  * ```
22
36
  */
23
37
  export declare const SearchInput: import("react").ForwardRefExoticComponent<SearchInputProps & import("react").RefAttributes<import("react-native/types_generated/Libraries/Components/TextInput/TextInput.flow")._TextInputInstance>>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/input/variants/SearchInput/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAa,CAAC;AAQlD,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,UAAU,CAAC;IACpF;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,oEAAoE;IACpE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,yEAAyE;IACzE,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,WAAW,sMAyEtB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/input/variants/SearchInput/index.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAa,CAAC;AAKlD,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,UAAU,CAAC;IACpF;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,oEAAoE;IACpE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,yEAAyE;IACzE,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,2EAA2E;IAC3E,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,WAAW,sMA8HtB,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { InputSize } from "../../types.js";
2
+ /** Glyph size per field size, in dp. Shared by the magnifier and both buttons. */
3
+ export declare const ICON_SIZE: Record<InputSize, number>;
4
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../../src/components/input/variants/SearchInput/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAa,CAAC;AAE7C,kFAAkF;AAClF,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAA8B,CAAC"}