@frosted-ui/react-native 0.0.1-canary.100

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 (207) hide show
  1. package/README.md +160 -0
  2. package/dist/components/accordion.d.ts +21 -0
  3. package/dist/components/accordion.d.ts.map +1 -0
  4. package/dist/components/accordion.js +94 -0
  5. package/dist/components/accordion.js.map +1 -0
  6. package/dist/components/alert-dialog.d.ts +67 -0
  7. package/dist/components/alert-dialog.d.ts.map +1 -0
  8. package/dist/components/alert-dialog.js +170 -0
  9. package/dist/components/alert-dialog.js.map +1 -0
  10. package/dist/components/aspect-ratio.d.ts +4 -0
  11. package/dist/components/aspect-ratio.d.ts.map +1 -0
  12. package/dist/components/aspect-ratio.js +4 -0
  13. package/dist/components/aspect-ratio.js.map +1 -0
  14. package/dist/components/avatar.d.ts +23 -0
  15. package/dist/components/avatar.d.ts.map +1 -0
  16. package/dist/components/avatar.js +128 -0
  17. package/dist/components/avatar.js.map +1 -0
  18. package/dist/components/badge.d.ts +15 -0
  19. package/dist/components/badge.d.ts.map +1 -0
  20. package/dist/components/badge.js +81 -0
  21. package/dist/components/badge.js.map +1 -0
  22. package/dist/components/button.d.ts +14 -0
  23. package/dist/components/button.d.ts.map +1 -0
  24. package/dist/components/button.js +81 -0
  25. package/dist/components/button.js.map +1 -0
  26. package/dist/components/callout.d.ts +23 -0
  27. package/dist/components/callout.d.ts.map +1 -0
  28. package/dist/components/callout.js +128 -0
  29. package/dist/components/callout.js.map +1 -0
  30. package/dist/components/card.d.ts +9 -0
  31. package/dist/components/card.d.ts.map +1 -0
  32. package/dist/components/card.js +41 -0
  33. package/dist/components/card.js.map +1 -0
  34. package/dist/components/checkbox.d.ts +12 -0
  35. package/dist/components/checkbox.d.ts.map +1 -0
  36. package/dist/components/checkbox.js +100 -0
  37. package/dist/components/checkbox.js.map +1 -0
  38. package/dist/components/circular-progress.d.ts +21 -0
  39. package/dist/components/circular-progress.d.ts.map +1 -0
  40. package/dist/components/circular-progress.js +78 -0
  41. package/dist/components/circular-progress.js.map +1 -0
  42. package/dist/components/code.d.ts +18 -0
  43. package/dist/components/code.d.ts.map +1 -0
  44. package/dist/components/code.js +83 -0
  45. package/dist/components/code.js.map +1 -0
  46. package/dist/components/context-menu.d.ts +65 -0
  47. package/dist/components/context-menu.d.ts.map +1 -0
  48. package/dist/components/context-menu.js +441 -0
  49. package/dist/components/context-menu.js.map +1 -0
  50. package/dist/components/dialog.d.ts +49 -0
  51. package/dist/components/dialog.d.ts.map +1 -0
  52. package/dist/components/dialog.js +141 -0
  53. package/dist/components/dialog.js.map +1 -0
  54. package/dist/components/dropdown-menu.d.ts +65 -0
  55. package/dist/components/dropdown-menu.d.ts.map +1 -0
  56. package/dist/components/dropdown-menu.js +441 -0
  57. package/dist/components/dropdown-menu.js.map +1 -0
  58. package/dist/components/heading.d.ts +15 -0
  59. package/dist/components/heading.d.ts.map +1 -0
  60. package/dist/components/heading.js +8 -0
  61. package/dist/components/heading.js.map +1 -0
  62. package/dist/components/hover-card.d.ts +24 -0
  63. package/dist/components/hover-card.d.ts.map +1 -0
  64. package/dist/components/hover-card.js +49 -0
  65. package/dist/components/hover-card.js.map +1 -0
  66. package/dist/components/icon-button.d.ts +14 -0
  67. package/dist/components/icon-button.d.ts.map +1 -0
  68. package/dist/components/icon-button.js +81 -0
  69. package/dist/components/icon-button.js.map +1 -0
  70. package/dist/components/icon.d.ts +27 -0
  71. package/dist/components/icon.d.ts.map +1 -0
  72. package/dist/components/icon.js +30 -0
  73. package/dist/components/icon.js.map +1 -0
  74. package/dist/components/index.d.ts +37 -0
  75. package/dist/components/index.d.ts.map +1 -0
  76. package/dist/components/index.js +49 -0
  77. package/dist/components/index.js.map +1 -0
  78. package/dist/components/label.d.ts +8 -0
  79. package/dist/components/label.d.ts.map +1 -0
  80. package/dist/components/label.js +26 -0
  81. package/dist/components/label.js.map +1 -0
  82. package/dist/components/link.d.ts +19 -0
  83. package/dist/components/link.d.ts.map +1 -0
  84. package/dist/components/link.js +68 -0
  85. package/dist/components/link.js.map +1 -0
  86. package/dist/components/list.d.ts +37 -0
  87. package/dist/components/list.d.ts.map +1 -0
  88. package/dist/components/list.js +112 -0
  89. package/dist/components/list.js.map +1 -0
  90. package/dist/components/native-only-animated-view.d.ts +219 -0
  91. package/dist/components/native-only-animated-view.d.ts.map +1 -0
  92. package/dist/components/native-only-animated-view.js +26 -0
  93. package/dist/components/native-only-animated-view.js.map +1 -0
  94. package/dist/components/popover.d.ts +24 -0
  95. package/dist/components/popover.d.ts.map +1 -0
  96. package/dist/components/popover.js +52 -0
  97. package/dist/components/popover.js.map +1 -0
  98. package/dist/components/progress.d.ts +14 -0
  99. package/dist/components/progress.d.ts.map +1 -0
  100. package/dist/components/progress.js +52 -0
  101. package/dist/components/progress.js.map +1 -0
  102. package/dist/components/radio-group.d.ts +18 -0
  103. package/dist/components/radio-group.d.ts.map +1 -0
  104. package/dist/components/radio-group.js +122 -0
  105. package/dist/components/radio-group.js.map +1 -0
  106. package/dist/components/segmented-control.d.ts +21 -0
  107. package/dist/components/segmented-control.d.ts.map +1 -0
  108. package/dist/components/segmented-control.js +113 -0
  109. package/dist/components/segmented-control.js.map +1 -0
  110. package/dist/components/select.d.ts +58 -0
  111. package/dist/components/select.d.ts.map +1 -0
  112. package/dist/components/select.js +491 -0
  113. package/dist/components/select.js.map +1 -0
  114. package/dist/components/separator.d.ts +12 -0
  115. package/dist/components/separator.d.ts.map +1 -0
  116. package/dist/components/separator.js +47 -0
  117. package/dist/components/separator.js.map +1 -0
  118. package/dist/components/skeleton.d.ts +28 -0
  119. package/dist/components/skeleton.d.ts.map +1 -0
  120. package/dist/components/skeleton.js +137 -0
  121. package/dist/components/skeleton.js.map +1 -0
  122. package/dist/components/slider.d.ts +30 -0
  123. package/dist/components/slider.d.ts.map +1 -0
  124. package/dist/components/slider.js +248 -0
  125. package/dist/components/slider.js.map +1 -0
  126. package/dist/components/spinner.d.ts +17 -0
  127. package/dist/components/spinner.d.ts.map +1 -0
  128. package/dist/components/spinner.js +199 -0
  129. package/dist/components/spinner.js.map +1 -0
  130. package/dist/components/switch.d.ts +12 -0
  131. package/dist/components/switch.d.ts.map +1 -0
  132. package/dist/components/switch.js +188 -0
  133. package/dist/components/switch.js.map +1 -0
  134. package/dist/components/tabs.d.ts +26 -0
  135. package/dist/components/tabs.d.ts.map +1 -0
  136. package/dist/components/tabs.js +125 -0
  137. package/dist/components/tabs.js.map +1 -0
  138. package/dist/components/text-area.d.ts +16 -0
  139. package/dist/components/text-area.d.ts.map +1 -0
  140. package/dist/components/text-area.js +121 -0
  141. package/dist/components/text-area.js.map +1 -0
  142. package/dist/components/text-field.d.ts +35 -0
  143. package/dist/components/text-field.d.ts.map +1 -0
  144. package/dist/components/text-field.js +300 -0
  145. package/dist/components/text-field.js.map +1 -0
  146. package/dist/components/text.d.ts +23 -0
  147. package/dist/components/text.d.ts.map +1 -0
  148. package/dist/components/text.js +44 -0
  149. package/dist/components/text.js.map +1 -0
  150. package/dist/components/tooltip.d.ts +24 -0
  151. package/dist/components/tooltip.d.ts.map +1 -0
  152. package/dist/components/tooltip.js +63 -0
  153. package/dist/components/tooltip.js.map +1 -0
  154. package/dist/index.d.ts +9 -0
  155. package/dist/index.d.ts.map +1 -0
  156. package/dist/index.js +18 -0
  157. package/dist/index.js.map +1 -0
  158. package/dist/lib/button-styles.d.ts +13 -0
  159. package/dist/lib/button-styles.d.ts.map +1 -0
  160. package/dist/lib/button-styles.js +115 -0
  161. package/dist/lib/button-styles.js.map +1 -0
  162. package/dist/lib/color-utils.d.ts +26 -0
  163. package/dist/lib/color-utils.d.ts.map +1 -0
  164. package/dist/lib/color-utils.js +48 -0
  165. package/dist/lib/color-utils.js.map +1 -0
  166. package/dist/lib/dialog-styles.d.ts +42 -0
  167. package/dist/lib/dialog-styles.d.ts.map +1 -0
  168. package/dist/lib/dialog-styles.js +162 -0
  169. package/dist/lib/dialog-styles.js.map +1 -0
  170. package/dist/lib/full-window-overlay.d.ts +11 -0
  171. package/dist/lib/full-window-overlay.d.ts.map +1 -0
  172. package/dist/lib/full-window-overlay.js +16 -0
  173. package/dist/lib/full-window-overlay.js.map +1 -0
  174. package/dist/lib/panel-styles.d.ts +32 -0
  175. package/dist/lib/panel-styles.d.ts.map +1 -0
  176. package/dist/lib/panel-styles.js +96 -0
  177. package/dist/lib/panel-styles.js.map +1 -0
  178. package/dist/lib/text-input-styles.d.ts +36 -0
  179. package/dist/lib/text-input-styles.d.ts.map +1 -0
  180. package/dist/lib/text-input-styles.js +88 -0
  181. package/dist/lib/text-input-styles.js.map +1 -0
  182. package/dist/lib/theme-context.d.ts +80 -0
  183. package/dist/lib/theme-context.d.ts.map +1 -0
  184. package/dist/lib/theme-context.js +97 -0
  185. package/dist/lib/theme-context.js.map +1 -0
  186. package/dist/lib/theme-tokens.d.ts +222 -0
  187. package/dist/lib/theme-tokens.d.ts.map +1 -0
  188. package/dist/lib/theme-tokens.js +158 -0
  189. package/dist/lib/theme-tokens.js.map +1 -0
  190. package/dist/lib/theme.d.ts +40 -0
  191. package/dist/lib/theme.d.ts.map +1 -0
  192. package/dist/lib/theme.js +194 -0
  193. package/dist/lib/theme.js.map +1 -0
  194. package/dist/lib/types.d.ts +18 -0
  195. package/dist/lib/types.d.ts.map +1 -0
  196. package/dist/lib/types.js +2 -0
  197. package/dist/lib/types.js.map +1 -0
  198. package/dist/lib/use-theme-tokens.d.ts +593 -0
  199. package/dist/lib/use-theme-tokens.d.ts.map +1 -0
  200. package/dist/lib/use-theme-tokens.js +44 -0
  201. package/dist/lib/use-theme-tokens.js.map +1 -0
  202. package/docs/llm/COLOR_SYSTEM.md +799 -0
  203. package/docs/llm/COMPONENTS.md +1329 -0
  204. package/docs/llm/DESIGN_PATTERNS.md +2567 -0
  205. package/docs/llm/README.md +118 -0
  206. package/docs/llm/TYPOGRAPHY.md +516 -0
  207. package/package.json +106 -0
@@ -0,0 +1,37 @@
1
+ import { type CardVariant } from '../components/card';
2
+ import * as React from 'react';
3
+ import { type PressableProps, type TextProps, type TextStyle, type ViewProps, type ViewStyle } from 'react-native';
4
+ type ListRootProps = ViewProps & {
5
+ variant?: CardVariant;
6
+ };
7
+ declare function ListRoot({ variant, style, children, ...props }: ListRootProps): React.JSX.Element;
8
+ type ListItemProps = Omit<PressableProps, 'style'> & {
9
+ style?: ViewStyle;
10
+ };
11
+ declare function ListItem({ children, onPress, disabled, style, ...props }: ListItemProps): React.JSX.Element;
12
+ type ListItemSlotProps = ViewProps;
13
+ declare function ListItemSlot({ children, style, ...props }: ListItemSlotProps): React.JSX.Element;
14
+ type ListItemContentProps = ViewProps;
15
+ declare function ListItemContent({ children, style, ...props }: ListItemContentProps): React.JSX.Element;
16
+ type ListItemTitleProps = Omit<TextProps, 'style'> & {
17
+ style?: TextStyle;
18
+ };
19
+ declare function ListItemTitle({ children, style, ...props }: ListItemTitleProps): React.JSX.Element;
20
+ type ListItemDescriptionProps = Omit<TextProps, 'style'> & {
21
+ style?: TextStyle;
22
+ };
23
+ declare function ListItemDescription({ children, style, ...props }: ListItemDescriptionProps): React.JSX.Element;
24
+ type ListSeparatorProps = ViewProps;
25
+ declare function ListSeparator({ style, ...props }: ListSeparatorProps): React.JSX.Element;
26
+ declare const List: {
27
+ Root: typeof ListRoot;
28
+ Item: typeof ListItem;
29
+ ItemSlot: typeof ListItemSlot;
30
+ ItemContent: typeof ListItemContent;
31
+ ItemTitle: typeof ListItemTitle;
32
+ ItemDescription: typeof ListItemDescription;
33
+ Separator: typeof ListSeparator;
34
+ };
35
+ export { List };
36
+ export type { ListItemContentProps, ListItemDescriptionProps, ListItemProps, ListItemSlotProps, ListItemTitleProps, ListRootProps, ListSeparatorProps, };
37
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/components/list.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAG3D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAKL,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAMtB,KAAK,aAAa,GAAG,SAAS,GAAG;IAC/B,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB,CAAC;AAEF,iBAAS,QAAQ,CAAC,EAAE,OAAmB,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,qBAMlF;AAMD,KAAK,aAAa,GAAG,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC,GAAG;IACnD,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,iBAAS,QAAQ,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,qBAyChF;AAMD,KAAK,iBAAiB,GAAG,SAAS,CAAC;AAEnC,iBAAS,YAAY,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,iBAAiB,qBAkBrE;AAMD,KAAK,oBAAoB,GAAG,SAAS,CAAC;AAEtC,iBAAS,eAAe,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,oBAAoB,qBAY3E;AAMD,KAAK,kBAAkB,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG;IACnD,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,iBAAS,aAAa,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,kBAAkB,qBAiBvE;AAMD,KAAK,wBAAwB,GAAG,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,GAAG;IACzD,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB,CAAC;AAEF,iBAAS,mBAAmB,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,wBAAwB,qBAgBnF;AAMD,KAAK,kBAAkB,GAAG,SAAS,CAAC;AAEpC,iBAAS,aAAa,CAAC,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,kBAAkB,qBAS7D;AAMD,QAAA,MAAM,IAAI;;;;;;;;CAQT,CAAC;AAEF,OAAO,EAAE,IAAI,EAAE,CAAC;AAChB,YAAY,EACV,oBAAoB,EACpB,wBAAwB,EACxB,aAAa,EACb,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,kBAAkB,GACnB,CAAC"}
@@ -0,0 +1,112 @@
1
+ import { Card } from '../components/card';
2
+ import { TextStyleContext } from '../components/text';
3
+ import { useThemeTokens } from '../lib/use-theme-tokens';
4
+ import * as React from 'react';
5
+ import { Platform, Pressable, Text, View, } from 'react-native';
6
+ function ListRoot({ variant = 'surface', style, children, ...props }) {
7
+ return (<Card variant={variant} style={[{ padding: 0 }, style]} {...props}>
8
+ {children}
9
+ </Card>);
10
+ }
11
+ function ListItem({ children, onPress, disabled, style, ...props }) {
12
+ const { colors } = useThemeTokens();
13
+ const [pressed, setPressed] = React.useState(false);
14
+ const [hovered, setHovered] = React.useState(false);
15
+ const isInteractive = !!onPress && !disabled;
16
+ const isHighlighted = isInteractive && (pressed || hovered);
17
+ const itemStyle = {
18
+ flexDirection: 'row',
19
+ alignItems: 'center',
20
+ gap: 12,
21
+ paddingVertical: 12,
22
+ paddingHorizontal: 16,
23
+ backgroundColor: isHighlighted ? colors.palettes.gray.a3 : undefined,
24
+ ...(Platform.OS === 'web' && isInteractive
25
+ ? { cursor: 'pointer', userSelect: 'none' }
26
+ : {}),
27
+ };
28
+ // Web hover handlers
29
+ const webProps = Platform.OS === 'web' && isInteractive
30
+ ? {
31
+ onMouseEnter: () => setHovered(true),
32
+ onMouseLeave: () => setHovered(false),
33
+ }
34
+ : {};
35
+ return (<Pressable onPress={onPress} onPressIn={() => setPressed(true)} onPressOut={() => setPressed(false)} disabled={disabled || !onPress} style={[itemStyle, style]} {...webProps} {...props}>
36
+ {children}
37
+ </Pressable>);
38
+ }
39
+ function ListItemSlot({ children, style, ...props }) {
40
+ const { colors } = useThemeTokens();
41
+ const slotStyle = {
42
+ alignItems: 'center',
43
+ justifyContent: 'center',
44
+ minWidth: 24,
45
+ minHeight: 24,
46
+ };
47
+ // Provide icon color context
48
+ return (<TextStyleContext.Provider value={{ color: colors.palettes.gray.a11 }}>
49
+ <View style={[slotStyle, style]} {...props}>
50
+ {children}
51
+ </View>
52
+ </TextStyleContext.Provider>);
53
+ }
54
+ function ListItemContent({ children, style, ...props }) {
55
+ const contentStyle = {
56
+ flex: 1,
57
+ gap: 2,
58
+ justifyContent: 'center',
59
+ };
60
+ return (<View style={[contentStyle, style]} {...props}>
61
+ {children}
62
+ </View>);
63
+ }
64
+ function ListItemTitle({ children, style, ...props }) {
65
+ const { colors, typography, fontWeights } = useThemeTokens();
66
+ const typo = typography['3'];
67
+ const titleStyle = {
68
+ fontSize: typo.fontSize,
69
+ lineHeight: typo.lineHeight,
70
+ letterSpacing: typo.letterSpacing,
71
+ fontWeight: fontWeights.medium,
72
+ color: colors.palettes.gray['12'],
73
+ };
74
+ return (<Text style={[titleStyle, style]} {...props}>
75
+ {children}
76
+ </Text>);
77
+ }
78
+ function ListItemDescription({ children, style, ...props }) {
79
+ const { colors, typography } = useThemeTokens();
80
+ const typo = typography['2'];
81
+ const descriptionStyle = {
82
+ fontSize: typo.fontSize,
83
+ lineHeight: typo.lineHeight,
84
+ letterSpacing: typo.letterSpacing,
85
+ color: colors.palettes.gray.a11,
86
+ };
87
+ return (<Text style={[descriptionStyle, style]} {...props}>
88
+ {children}
89
+ </Text>);
90
+ }
91
+ function ListSeparator({ style, ...props }) {
92
+ const { colors } = useThemeTokens();
93
+ const separatorStyle = {
94
+ height: 1,
95
+ backgroundColor: colors.stroke,
96
+ };
97
+ return <View style={[separatorStyle, style]} {...props}/>;
98
+ }
99
+ // ============================================================================
100
+ // Exports
101
+ // ============================================================================
102
+ const List = {
103
+ Root: ListRoot,
104
+ Item: ListItem,
105
+ ItemSlot: ListItemSlot,
106
+ ItemContent: ListItemContent,
107
+ ItemTitle: ListItemTitle,
108
+ ItemDescription: ListItemDescription,
109
+ Separator: ListSeparator,
110
+ };
111
+ export { List };
112
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/components/list.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,219 @@
1
+ import React from 'react';
2
+ /**
3
+ * This component is used to wrap animated views that should only be animated on native.
4
+ * @param props - The props for the animated view.
5
+ * @returns The animated view if the platform is native, otherwise the children.
6
+ * @example
7
+ * <NativeOnlyAnimatedView entering={FadeIn} exiting={FadeOut}>
8
+ * <Text>I am only animated on native</Text>
9
+ * </NativeOnlyAnimatedView>
10
+ */
11
+ declare const NativeOnlyAnimatedView: React.ForwardRefExoticComponent<{
12
+ children?: React.ReactNode | import("react-native-reanimated").SharedValue<React.ReactNode>;
13
+ hitSlop?: number | import("react-native").Insets | import("react-native-reanimated").SharedValue<number | import("react-native").Insets | null | undefined> | null | undefined;
14
+ id?: string | import("react-native-reanimated").SharedValue<string | undefined> | undefined;
15
+ needsOffscreenAlphaCompositing?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
16
+ onLayout?: ((event: import("react-native").LayoutChangeEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").LayoutChangeEvent) => void) | undefined> | undefined;
17
+ pointerEvents?: "none" | "auto" | "box-none" | "box-only" | import("react-native-reanimated").SharedValue<"none" | "auto" | "box-none" | "box-only" | undefined> | undefined;
18
+ removeClippedSubviews?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
19
+ testID?: string | import("react-native-reanimated").SharedValue<string | undefined> | undefined;
20
+ nativeID?: string | import("react-native-reanimated").SharedValue<string | undefined> | undefined;
21
+ collapsable?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
22
+ collapsableChildren?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
23
+ onBlur?: ((e: import("react-native").BlurEvent) => void) | import("react-native-reanimated").SharedValue<((e: import("react-native").BlurEvent) => void) | null | undefined> | null | undefined;
24
+ onFocus?: ((e: import("react-native").FocusEvent) => void) | import("react-native-reanimated").SharedValue<((e: import("react-native").FocusEvent) => void) | null | undefined> | null | undefined;
25
+ renderToHardwareTextureAndroid?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
26
+ focusable?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
27
+ tabIndex?: 0 | -1 | import("react-native-reanimated").SharedValue<0 | -1 | undefined> | undefined;
28
+ shouldRasterizeIOS?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
29
+ isTVSelectable?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
30
+ hasTVPreferredFocus?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
31
+ tvParallaxShiftDistanceX?: number | import("react-native-reanimated").SharedValue<number | undefined> | undefined;
32
+ tvParallaxShiftDistanceY?: number | import("react-native-reanimated").SharedValue<number | undefined> | undefined;
33
+ tvParallaxTiltAngle?: number | import("react-native-reanimated").SharedValue<number | undefined> | undefined;
34
+ tvParallaxMagnification?: number | import("react-native-reanimated").SharedValue<number | undefined> | undefined;
35
+ onStartShouldSetResponder?: ((event: import("react-native").GestureResponderEvent) => boolean) | import("react-native-reanimated").SharedValue<((event: import("react-native").GestureResponderEvent) => boolean) | undefined> | undefined;
36
+ onMoveShouldSetResponder?: ((event: import("react-native").GestureResponderEvent) => boolean) | import("react-native-reanimated").SharedValue<((event: import("react-native").GestureResponderEvent) => boolean) | undefined> | undefined;
37
+ onResponderEnd?: ((event: import("react-native").GestureResponderEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
38
+ onResponderGrant?: ((event: import("react-native").GestureResponderEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
39
+ onResponderReject?: ((event: import("react-native").GestureResponderEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
40
+ onResponderMove?: ((event: import("react-native").GestureResponderEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
41
+ onResponderRelease?: ((event: import("react-native").GestureResponderEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
42
+ onResponderStart?: ((event: import("react-native").GestureResponderEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
43
+ onResponderTerminationRequest?: ((event: import("react-native").GestureResponderEvent) => boolean) | import("react-native-reanimated").SharedValue<((event: import("react-native").GestureResponderEvent) => boolean) | undefined> | undefined;
44
+ onResponderTerminate?: ((event: import("react-native").GestureResponderEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
45
+ onStartShouldSetResponderCapture?: ((event: import("react-native").GestureResponderEvent) => boolean) | import("react-native-reanimated").SharedValue<((event: import("react-native").GestureResponderEvent) => boolean) | undefined> | undefined;
46
+ onMoveShouldSetResponderCapture?: ((event: import("react-native").GestureResponderEvent) => boolean) | import("react-native-reanimated").SharedValue<((event: import("react-native").GestureResponderEvent) => boolean) | undefined> | undefined;
47
+ onTouchStart?: ((event: import("react-native").GestureResponderEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
48
+ onTouchMove?: ((event: import("react-native").GestureResponderEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
49
+ onTouchEnd?: ((event: import("react-native").GestureResponderEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
50
+ onTouchCancel?: ((event: import("react-native").GestureResponderEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
51
+ onTouchEndCapture?: ((event: import("react-native").GestureResponderEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
52
+ onPointerEnter?: ((event: import("react-native").PointerEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").PointerEvent) => void) | undefined> | undefined;
53
+ onPointerEnterCapture?: ((event: import("react-native").PointerEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").PointerEvent) => void) | undefined> | undefined;
54
+ onPointerLeave?: ((event: import("react-native").PointerEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").PointerEvent) => void) | undefined> | undefined;
55
+ onPointerLeaveCapture?: ((event: import("react-native").PointerEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").PointerEvent) => void) | undefined> | undefined;
56
+ onPointerMove?: ((event: import("react-native").PointerEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").PointerEvent) => void) | undefined> | undefined;
57
+ onPointerMoveCapture?: ((event: import("react-native").PointerEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").PointerEvent) => void) | undefined> | undefined;
58
+ onPointerCancel?: ((event: import("react-native").PointerEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").PointerEvent) => void) | undefined> | undefined;
59
+ onPointerCancelCapture?: ((event: import("react-native").PointerEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").PointerEvent) => void) | undefined> | undefined;
60
+ onPointerDown?: ((event: import("react-native").PointerEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").PointerEvent) => void) | undefined> | undefined;
61
+ onPointerDownCapture?: ((event: import("react-native").PointerEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").PointerEvent) => void) | undefined> | undefined;
62
+ onPointerUp?: ((event: import("react-native").PointerEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").PointerEvent) => void) | undefined> | undefined;
63
+ onPointerUpCapture?: ((event: import("react-native").PointerEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").PointerEvent) => void) | undefined> | undefined;
64
+ accessible?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
65
+ accessibilityActions?: readonly Readonly<{
66
+ name: import("react-native").AccessibilityActionName | string;
67
+ label?: string | undefined;
68
+ }>[] | import("react-native-reanimated").SharedValue<readonly Readonly<{
69
+ name: import("react-native").AccessibilityActionName | string;
70
+ label?: string | undefined;
71
+ }>[] | undefined> | undefined;
72
+ accessibilityLabel?: string | import("react-native-reanimated").SharedValue<string | undefined> | undefined;
73
+ 'aria-label'?: string | import("react-native-reanimated").SharedValue<string | undefined> | undefined;
74
+ accessibilityRole?: import("react-native").AccessibilityRole | import("react-native-reanimated").SharedValue<import("react-native").AccessibilityRole | undefined> | undefined;
75
+ accessibilityState?: import("react-native").AccessibilityState | import("react-native-reanimated").SharedValue<import("react-native").AccessibilityState | undefined> | undefined;
76
+ 'aria-busy'?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
77
+ 'aria-checked'?: boolean | "mixed" | import("react-native-reanimated").SharedValue<boolean | "mixed" | undefined> | undefined;
78
+ 'aria-disabled'?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
79
+ 'aria-expanded'?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
80
+ 'aria-selected'?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
81
+ accessibilityHint?: string | import("react-native-reanimated").SharedValue<string | undefined> | undefined;
82
+ accessibilityValue?: import("react-native").AccessibilityValue | import("react-native-reanimated").SharedValue<import("react-native").AccessibilityValue | undefined> | undefined;
83
+ 'aria-valuemax'?: number | import("react-native-reanimated").SharedValue<number | undefined> | undefined;
84
+ 'aria-valuemin'?: number | import("react-native-reanimated").SharedValue<number | undefined> | undefined;
85
+ 'aria-valuenow'?: number | import("react-native-reanimated").SharedValue<number | undefined> | undefined;
86
+ 'aria-valuetext'?: string | import("react-native-reanimated").SharedValue<string | undefined> | undefined;
87
+ onAccessibilityAction?: ((event: import("react-native").AccessibilityActionEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").AccessibilityActionEvent) => void) | undefined> | undefined;
88
+ importantForAccessibility?: "auto" | "yes" | "no" | "no-hide-descendants" | import("react-native-reanimated").SharedValue<"auto" | "yes" | "no" | "no-hide-descendants" | undefined> | undefined;
89
+ 'aria-hidden'?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
90
+ 'aria-modal'?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
91
+ role?: import("react-native").Role | import("react-native-reanimated").SharedValue<import("react-native").Role | undefined> | undefined;
92
+ accessibilityLabelledBy?: string | string[] | import("react-native-reanimated").SharedValue<string | string[] | undefined> | undefined;
93
+ 'aria-labelledby'?: string | import("react-native-reanimated").SharedValue<string | undefined> | undefined;
94
+ accessibilityLiveRegion?: "none" | "polite" | "assertive" | import("react-native-reanimated").SharedValue<"none" | "polite" | "assertive" | undefined> | undefined;
95
+ 'aria-live'?: "polite" | "assertive" | "off" | import("react-native-reanimated").SharedValue<"polite" | "assertive" | "off" | undefined> | undefined;
96
+ screenReaderFocusable?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
97
+ accessibilityElementsHidden?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
98
+ accessibilityViewIsModal?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
99
+ onAccessibilityEscape?: (() => void) | import("react-native-reanimated").SharedValue<(() => void) | undefined> | undefined;
100
+ onAccessibilityTap?: (() => void) | import("react-native-reanimated").SharedValue<(() => void) | undefined> | undefined;
101
+ onMagicTap?: (() => void) | import("react-native-reanimated").SharedValue<(() => void) | undefined> | undefined;
102
+ accessibilityIgnoresInvertColors?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
103
+ accessibilityLanguage?: string | import("react-native-reanimated").SharedValue<string | undefined> | undefined;
104
+ accessibilityShowsLargeContentViewer?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
105
+ accessibilityLargeContentTitle?: string | import("react-native-reanimated").SharedValue<string | undefined> | undefined;
106
+ accessibilityRespondsToUserInteraction?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
107
+ } & {
108
+ style?: import("react-native").StyleProp<import("react-native-reanimated").AnimatedStyle<import("react-native").StyleProp<import("react-native").ViewStyle>>>;
109
+ } & {
110
+ layout?: import("react-native-reanimated").BaseAnimationBuilder | import("react-native-reanimated").LayoutAnimationFunction | typeof import("react-native-reanimated").BaseAnimationBuilder;
111
+ entering?: import("react-native-reanimated").EntryOrExitLayoutType;
112
+ exiting?: import("react-native-reanimated").EntryOrExitLayoutType;
113
+ } & {
114
+ animatedProps?: import("react-native-reanimated/lib/typescript/css/types").AddArrayPropertyType<Partial<{
115
+ children?: React.ReactNode | import("react-native-reanimated").SharedValue<React.ReactNode>;
116
+ hitSlop?: number | import("react-native").Insets | import("react-native-reanimated").SharedValue<number | import("react-native").Insets | null | undefined> | null | undefined;
117
+ id?: string | import("react-native-reanimated").SharedValue<string | undefined> | undefined;
118
+ needsOffscreenAlphaCompositing?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
119
+ onLayout?: ((event: import("react-native").LayoutChangeEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").LayoutChangeEvent) => void) | undefined> | undefined;
120
+ pointerEvents?: "none" | "auto" | "box-none" | "box-only" | import("react-native-reanimated").SharedValue<"none" | "auto" | "box-none" | "box-only" | undefined> | undefined;
121
+ removeClippedSubviews?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
122
+ testID?: string | import("react-native-reanimated").SharedValue<string | undefined> | undefined;
123
+ nativeID?: string | import("react-native-reanimated").SharedValue<string | undefined> | undefined;
124
+ collapsable?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
125
+ collapsableChildren?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
126
+ onBlur?: ((e: import("react-native").BlurEvent) => void) | import("react-native-reanimated").SharedValue<((e: import("react-native").BlurEvent) => void) | null | undefined> | null | undefined;
127
+ onFocus?: ((e: import("react-native").FocusEvent) => void) | import("react-native-reanimated").SharedValue<((e: import("react-native").FocusEvent) => void) | null | undefined> | null | undefined;
128
+ renderToHardwareTextureAndroid?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
129
+ focusable?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
130
+ tabIndex?: 0 | -1 | import("react-native-reanimated").SharedValue<0 | -1 | undefined> | undefined;
131
+ shouldRasterizeIOS?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
132
+ isTVSelectable?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
133
+ hasTVPreferredFocus?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
134
+ tvParallaxShiftDistanceX?: number | import("react-native-reanimated").SharedValue<number | undefined> | undefined;
135
+ tvParallaxShiftDistanceY?: number | import("react-native-reanimated").SharedValue<number | undefined> | undefined;
136
+ tvParallaxTiltAngle?: number | import("react-native-reanimated").SharedValue<number | undefined> | undefined;
137
+ tvParallaxMagnification?: number | import("react-native-reanimated").SharedValue<number | undefined> | undefined;
138
+ onStartShouldSetResponder?: ((event: import("react-native").GestureResponderEvent) => boolean) | import("react-native-reanimated").SharedValue<((event: import("react-native").GestureResponderEvent) => boolean) | undefined> | undefined;
139
+ onMoveShouldSetResponder?: ((event: import("react-native").GestureResponderEvent) => boolean) | import("react-native-reanimated").SharedValue<((event: import("react-native").GestureResponderEvent) => boolean) | undefined> | undefined;
140
+ onResponderEnd?: ((event: import("react-native").GestureResponderEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
141
+ onResponderGrant?: ((event: import("react-native").GestureResponderEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
142
+ onResponderReject?: ((event: import("react-native").GestureResponderEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
143
+ onResponderMove?: ((event: import("react-native").GestureResponderEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
144
+ onResponderRelease?: ((event: import("react-native").GestureResponderEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
145
+ onResponderStart?: ((event: import("react-native").GestureResponderEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
146
+ onResponderTerminationRequest?: ((event: import("react-native").GestureResponderEvent) => boolean) | import("react-native-reanimated").SharedValue<((event: import("react-native").GestureResponderEvent) => boolean) | undefined> | undefined;
147
+ onResponderTerminate?: ((event: import("react-native").GestureResponderEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
148
+ onStartShouldSetResponderCapture?: ((event: import("react-native").GestureResponderEvent) => boolean) | import("react-native-reanimated").SharedValue<((event: import("react-native").GestureResponderEvent) => boolean) | undefined> | undefined;
149
+ onMoveShouldSetResponderCapture?: ((event: import("react-native").GestureResponderEvent) => boolean) | import("react-native-reanimated").SharedValue<((event: import("react-native").GestureResponderEvent) => boolean) | undefined> | undefined;
150
+ onTouchStart?: ((event: import("react-native").GestureResponderEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
151
+ onTouchMove?: ((event: import("react-native").GestureResponderEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
152
+ onTouchEnd?: ((event: import("react-native").GestureResponderEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
153
+ onTouchCancel?: ((event: import("react-native").GestureResponderEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
154
+ onTouchEndCapture?: ((event: import("react-native").GestureResponderEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").GestureResponderEvent) => void) | undefined> | undefined;
155
+ onPointerEnter?: ((event: import("react-native").PointerEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").PointerEvent) => void) | undefined> | undefined;
156
+ onPointerEnterCapture?: ((event: import("react-native").PointerEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").PointerEvent) => void) | undefined> | undefined;
157
+ onPointerLeave?: ((event: import("react-native").PointerEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").PointerEvent) => void) | undefined> | undefined;
158
+ onPointerLeaveCapture?: ((event: import("react-native").PointerEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").PointerEvent) => void) | undefined> | undefined;
159
+ onPointerMove?: ((event: import("react-native").PointerEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").PointerEvent) => void) | undefined> | undefined;
160
+ onPointerMoveCapture?: ((event: import("react-native").PointerEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").PointerEvent) => void) | undefined> | undefined;
161
+ onPointerCancel?: ((event: import("react-native").PointerEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").PointerEvent) => void) | undefined> | undefined;
162
+ onPointerCancelCapture?: ((event: import("react-native").PointerEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").PointerEvent) => void) | undefined> | undefined;
163
+ onPointerDown?: ((event: import("react-native").PointerEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").PointerEvent) => void) | undefined> | undefined;
164
+ onPointerDownCapture?: ((event: import("react-native").PointerEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").PointerEvent) => void) | undefined> | undefined;
165
+ onPointerUp?: ((event: import("react-native").PointerEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").PointerEvent) => void) | undefined> | undefined;
166
+ onPointerUpCapture?: ((event: import("react-native").PointerEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").PointerEvent) => void) | undefined> | undefined;
167
+ accessible?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
168
+ accessibilityActions?: readonly Readonly<{
169
+ name: import("react-native").AccessibilityActionName | string;
170
+ label?: string | undefined;
171
+ }>[] | import("react-native-reanimated").SharedValue<readonly Readonly<{
172
+ name: import("react-native").AccessibilityActionName | string;
173
+ label?: string | undefined;
174
+ }>[] | undefined> | undefined;
175
+ accessibilityLabel?: string | import("react-native-reanimated").SharedValue<string | undefined> | undefined;
176
+ 'aria-label'?: string | import("react-native-reanimated").SharedValue<string | undefined> | undefined;
177
+ accessibilityRole?: import("react-native").AccessibilityRole | import("react-native-reanimated").SharedValue<import("react-native").AccessibilityRole | undefined> | undefined;
178
+ accessibilityState?: import("react-native").AccessibilityState | import("react-native-reanimated").SharedValue<import("react-native").AccessibilityState | undefined> | undefined;
179
+ 'aria-busy'?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
180
+ 'aria-checked'?: boolean | "mixed" | import("react-native-reanimated").SharedValue<boolean | "mixed" | undefined> | undefined;
181
+ 'aria-disabled'?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
182
+ 'aria-expanded'?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
183
+ 'aria-selected'?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
184
+ accessibilityHint?: string | import("react-native-reanimated").SharedValue<string | undefined> | undefined;
185
+ accessibilityValue?: import("react-native").AccessibilityValue | import("react-native-reanimated").SharedValue<import("react-native").AccessibilityValue | undefined> | undefined;
186
+ 'aria-valuemax'?: number | import("react-native-reanimated").SharedValue<number | undefined> | undefined;
187
+ 'aria-valuemin'?: number | import("react-native-reanimated").SharedValue<number | undefined> | undefined;
188
+ 'aria-valuenow'?: number | import("react-native-reanimated").SharedValue<number | undefined> | undefined;
189
+ 'aria-valuetext'?: string | import("react-native-reanimated").SharedValue<string | undefined> | undefined;
190
+ onAccessibilityAction?: ((event: import("react-native").AccessibilityActionEvent) => void) | import("react-native-reanimated").SharedValue<((event: import("react-native").AccessibilityActionEvent) => void) | undefined> | undefined;
191
+ importantForAccessibility?: "auto" | "yes" | "no" | "no-hide-descendants" | import("react-native-reanimated").SharedValue<"auto" | "yes" | "no" | "no-hide-descendants" | undefined> | undefined;
192
+ 'aria-hidden'?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
193
+ 'aria-modal'?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
194
+ role?: import("react-native").Role | import("react-native-reanimated").SharedValue<import("react-native").Role | undefined> | undefined;
195
+ accessibilityLabelledBy?: string | string[] | import("react-native-reanimated").SharedValue<string | string[] | undefined> | undefined;
196
+ 'aria-labelledby'?: string | import("react-native-reanimated").SharedValue<string | undefined> | undefined;
197
+ accessibilityLiveRegion?: "none" | "polite" | "assertive" | import("react-native-reanimated").SharedValue<"none" | "polite" | "assertive" | undefined> | undefined;
198
+ 'aria-live'?: "polite" | "assertive" | "off" | import("react-native-reanimated").SharedValue<"polite" | "assertive" | "off" | undefined> | undefined;
199
+ screenReaderFocusable?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
200
+ accessibilityElementsHidden?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
201
+ accessibilityViewIsModal?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
202
+ onAccessibilityEscape?: (() => void) | import("react-native-reanimated").SharedValue<(() => void) | undefined> | undefined;
203
+ onAccessibilityTap?: (() => void) | import("react-native-reanimated").SharedValue<(() => void) | undefined> | undefined;
204
+ onMagicTap?: (() => void) | import("react-native-reanimated").SharedValue<(() => void) | undefined> | undefined;
205
+ accessibilityIgnoresInvertColors?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
206
+ accessibilityLanguage?: string | import("react-native-reanimated").SharedValue<string | undefined> | undefined;
207
+ accessibilityShowsLargeContentViewer?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
208
+ accessibilityLargeContentTitle?: string | import("react-native-reanimated").SharedValue<string | undefined> | undefined;
209
+ accessibilityRespondsToUserInteraction?: boolean | import("react-native-reanimated").SharedValue<boolean | undefined> | undefined;
210
+ } & {
211
+ style?: import("react-native").StyleProp<import("react-native-reanimated").AnimatedStyle<import("react-native").StyleProp<import("react-native").ViewStyle>>>;
212
+ } & {
213
+ layout?: import("react-native-reanimated").BaseAnimationBuilder | import("react-native-reanimated").LayoutAnimationFunction | typeof import("react-native-reanimated").BaseAnimationBuilder;
214
+ entering?: import("react-native-reanimated").EntryOrExitLayoutType;
215
+ exiting?: import("react-native-reanimated").EntryOrExitLayoutType;
216
+ }> | import("react-native-reanimated").CSSStyle<import("react-native").ViewProps>> | undefined;
217
+ } & React.RefAttributes<any>>;
218
+ export { NativeOnlyAnimatedView };
219
+ //# sourceMappingURL=native-only-animated-view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-only-animated-view.d.ts","sourceRoot":"","sources":["../../src/components/native-only-animated-view.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B;;;;;;;;GAQG;AAEH,QAAA,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6BAc3B,CAAC;AAEF,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
@@ -0,0 +1,26 @@
1
+ import React from 'react';
2
+ import { Platform } from 'react-native';
3
+ import Animated from 'react-native-reanimated';
4
+ /**
5
+ * This component is used to wrap animated views that should only be animated on native.
6
+ * @param props - The props for the animated view.
7
+ * @returns The animated view if the platform is native, otherwise the children.
8
+ * @example
9
+ * <NativeOnlyAnimatedView entering={FadeIn} exiting={FadeOut}>
10
+ * <Text>I am only animated on native</Text>
11
+ * </NativeOnlyAnimatedView>
12
+ */
13
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- Animated.View ref types don't align with React's forwardRef
14
+ const NativeOnlyAnimatedView = React.forwardRef(({ children, ...rest }, ref) => {
15
+ if (Platform.OS === 'web') {
16
+ return <>{children}</>;
17
+ }
18
+ // Animated.View expects its own ref type; cast to satisfy differing React typings.
19
+ return (
20
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any -- ref type mismatch between React and Reanimated
21
+ <Animated.View ref={ref} {...rest}>
22
+ {children}
23
+ </Animated.View>);
24
+ });
25
+ export { NativeOnlyAnimatedView };
26
+ //# sourceMappingURL=native-only-animated-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"native-only-animated-view.js","sourceRoot":"","sources":["../../src/components/native-only-animated-view.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AACxC,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAI/C;;;;;;;;GAQG;AACH,6HAA6H;AAC7H,MAAM,sBAAsB,GAAG,KAAK,CAAC,UAAU,CAC7C,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,EAAE,GAAG,EAAE,EAAE;IAC7B,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;QAC1B,OAAO,EAAE,CAAC,QAA2B,CAAC,GAAG,CAAC;IAC5C,CAAC;IAED,mFAAmF;IACnF,OAAO;IACL,gHAAgH;IAChH,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAU,CAAC,CAAC,IAAI,IAAI,CAAC,CACvC;QAAA,CAAC,QAAQ,CACX;MAAA,EAAE,QAAQ,CAAC,IAAI,CAAC,CACjB,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,OAAO,EAAE,sBAAsB,EAAE,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { type PanelSize, type PanelVariant } from '../lib/panel-styles';
2
+ import * as PopoverPrimitive from '@rn-primitives/popover';
3
+ import * as React from 'react';
4
+ type PopoverSize = PanelSize;
5
+ type PopoverVariant = PanelVariant;
6
+ type PopoverRootProps = PopoverPrimitive.RootProps;
7
+ declare const PopoverRoot: typeof PopoverPrimitive.Root;
8
+ declare const PopoverTrigger: typeof PopoverPrimitive.Trigger;
9
+ declare const PopoverClose: typeof PopoverPrimitive.Close;
10
+ type PopoverContentProps = PopoverPrimitive.ContentProps & {
11
+ size?: PopoverSize;
12
+ variant?: PopoverVariant;
13
+ portalHost?: string;
14
+ };
15
+ declare function PopoverContent({ size, variant, align, sideOffset, portalHost, style, children, ...props }: PopoverContentProps): React.JSX.Element;
16
+ declare const Popover: {
17
+ Root: typeof PopoverRoot;
18
+ Trigger: typeof PopoverTrigger;
19
+ Close: typeof PopoverClose;
20
+ Content: typeof PopoverContent;
21
+ };
22
+ export { Popover, PopoverClose, PopoverContent, PopoverRoot, PopoverTrigger };
23
+ export type { PopoverContentProps, PopoverRootProps, PopoverSize, PopoverVariant };
24
+ //# sourceMappingURL=popover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popover.d.ts","sourceRoot":"","sources":["../../src/components/popover.tsx"],"names":[],"mappings":"AACA,OAAO,EAAwB,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAE7F,OAAO,KAAK,gBAAgB,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,KAAK,WAAW,GAAG,SAAS,CAAC;AAC7B,KAAK,cAAc,GAAG,YAAY,CAAC;AAMnC,KAAK,gBAAgB,GAAG,gBAAgB,CAAC,SAAS,CAAC;AAEnD,QAAA,MAAM,WAAW,EAAE,OAAO,gBAAgB,CAAC,IAA4B,CAAC;AAMxE,QAAA,MAAM,cAAc,EAAE,OAAO,gBAAgB,CAAC,OAAkC,CAAC;AAMjF,QAAA,MAAM,YAAY,EAAE,OAAO,gBAAgB,CAAC,KAA8B,CAAC;AAQ3E,KAAK,mBAAmB,GAAG,gBAAgB,CAAC,YAAY,GAAG;IACzD,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,iBAAS,cAAc,CAAC,EACtB,IAAU,EACV,OAAuB,EACvB,KAAe,EACf,UAAc,EACd,UAAU,EACV,KAAK,EACL,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,mBAAmB,qBA2BrB;AAMD,QAAA,MAAM,OAAO,EAAE;IACb,IAAI,EAAE,OAAO,WAAW,CAAC;IACzB,OAAO,EAAE,OAAO,cAAc,CAAC;IAC/B,KAAK,EAAE,OAAO,YAAY,CAAC;IAC3B,OAAO,EAAE,OAAO,cAAc,CAAC;CAMhC,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC;AAC9E,YAAY,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC"}
@@ -0,0 +1,52 @@
1
+ import { NativeOnlyAnimatedView } from '../components/native-only-animated-view';
2
+ import { getPanelContentStyle } from '../lib/panel-styles';
3
+ import { useThemeTokens } from '../lib/use-theme-tokens';
4
+ import * as PopoverPrimitive from '@rn-primitives/popover';
5
+ import * as React from 'react';
6
+ import { Platform, StyleSheet, View } from 'react-native';
7
+ import { FadeIn, FadeOut } from 'react-native-reanimated';
8
+ import { FullWindowOverlay as RNFullWindowOverlay } from 'react-native-screens';
9
+ const PopoverRoot = PopoverPrimitive.Root;
10
+ // ============================================================================
11
+ // Popover.Trigger
12
+ // ============================================================================
13
+ const PopoverTrigger = PopoverPrimitive.Trigger;
14
+ // ============================================================================
15
+ // Popover.Close
16
+ // ============================================================================
17
+ const PopoverClose = PopoverPrimitive.Close;
18
+ // ============================================================================
19
+ // Popover.Content
20
+ // ============================================================================
21
+ const FullWindowOverlay = Platform.OS === 'ios' ? RNFullWindowOverlay : React.Fragment;
22
+ function PopoverContent({ size = '2', variant = 'translucent', align = 'start', sideOffset = 8, portalHost, style, children, ...props }) {
23
+ const { colors, isDark } = useThemeTokens();
24
+ const contentStyle = getPanelContentStyle({
25
+ size,
26
+ variant,
27
+ colors,
28
+ isDark,
29
+ });
30
+ return (<PopoverPrimitive.Portal hostName={portalHost}>
31
+ <FullWindowOverlay>
32
+ <PopoverPrimitive.Overlay style={Platform.select({ native: StyleSheet.absoluteFill })}>
33
+ <NativeOnlyAnimatedView entering={FadeIn.duration(200)} exiting={FadeOut}>
34
+ <PopoverPrimitive.Content align={align} insets={{ top: 8, right: 8, bottom: 8, left: 8 }} sideOffset={sideOffset} {...props}>
35
+ <View style={[contentStyle, style]}>{children}</View>
36
+ </PopoverPrimitive.Content>
37
+ </NativeOnlyAnimatedView>
38
+ </PopoverPrimitive.Overlay>
39
+ </FullWindowOverlay>
40
+ </PopoverPrimitive.Portal>);
41
+ }
42
+ // ============================================================================
43
+ // Export composite component
44
+ // ============================================================================
45
+ const Popover = {
46
+ Root: PopoverRoot,
47
+ Trigger: PopoverTrigger,
48
+ Close: PopoverClose,
49
+ Content: PopoverContent,
50
+ };
51
+ export { Popover, PopoverClose, PopoverContent, PopoverRoot, PopoverTrigger };
52
+ //# sourceMappingURL=popover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"popover.js","sourceRoot":"","sources":["../../src/components/popover.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { Color } from '../lib/types';
2
+ import * as React from 'react';
3
+ import { type ViewProps } from 'react-native';
4
+ type ProgressSize = '1' | '2' | '3' | '4' | '5' | '6';
5
+ type ProgressProps = ViewProps & {
6
+ size?: ProgressSize;
7
+ color?: Color;
8
+ value?: number;
9
+ max?: number;
10
+ };
11
+ declare function Progress({ size, color, value, max, style, ...props }: ProgressProps): React.JSX.Element;
12
+ export { Progress };
13
+ export type { ProgressProps };
14
+ //# sourceMappingURL=progress.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../src/components/progress.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAQ,KAAK,SAAS,EAAkB,MAAM,cAAc,CAAC;AAEpE,KAAK,YAAY,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,CAAC;AAqBtD,KAAK,aAAa,GAAG,SAAS,GAAG;IAC/B,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,iBAAS,QAAQ,CAAC,EAAE,IAAU,EAAE,KAAK,EAAE,KAAS,EAAE,GAAS,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAE,aAAa,qBA0C5F;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,YAAY,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,52 @@
1
+ import { useThemeTokens } from '../lib/use-theme-tokens';
2
+ import * as React from 'react';
3
+ import { View } from 'react-native';
4
+ // Size styles from CSS:
5
+ // Size 1: 2px, Size 2: 4px, Size 3: 6px, Size 4: 8px, Size 5: 12px, Size 6: 16px
6
+ function getHeight(size) {
7
+ switch (size) {
8
+ case '1':
9
+ return 2;
10
+ case '2':
11
+ return 4;
12
+ case '3':
13
+ return 6;
14
+ case '4':
15
+ return 8;
16
+ case '5':
17
+ return 12;
18
+ case '6':
19
+ return 16;
20
+ }
21
+ }
22
+ function Progress({ size = '6', color, value = 0, max = 100, style, ...props }) {
23
+ const { colors } = useThemeTokens();
24
+ const gray = colors.palettes.gray;
25
+ // Semantic colors (accent, danger, etc.) are added by useThemeTokens
26
+ // Fallback to gray if palette key doesn't exist
27
+ const palette = colors.palettes[color ?? 'accent'] ?? gray;
28
+ const height = getHeight(size);
29
+ // Calculate progress percentage
30
+ const progress = Math.max(0, Math.min((value || 0) / max, 1));
31
+ const progressPercent = progress * 100;
32
+ // Track style
33
+ const trackStyle = {
34
+ width: '100%',
35
+ height,
36
+ borderRadius: height / 2, // Fully rounded (radius-thumb)
37
+ backgroundColor: gray.a4,
38
+ overflow: 'hidden',
39
+ };
40
+ // Indicator style
41
+ const indicatorStyle = {
42
+ height: '100%',
43
+ width: `${progressPercent}%`,
44
+ backgroundColor: palette['9'],
45
+ borderRadius: height / 2,
46
+ };
47
+ return (<View role="progressbar" aria-valuemin={0} aria-valuemax={max} aria-valuenow={value} style={[trackStyle, style]} {...props}>
48
+ <View style={indicatorStyle}/>
49
+ </View>);
50
+ }
51
+ export { Progress };
52
+ //# sourceMappingURL=progress.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"progress.js","sourceRoot":"","sources":["../../src/components/progress.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAkC,MAAM,cAAc,CAAC;AAIpE,wBAAwB;AACxB,iFAAiF;AACjF,SAAS,SAAS,CAAC,IAAkB;IACnC,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,GAAG;YACN,OAAO,CAAC,CAAC;QACX,KAAK,GAAG;YACN,OAAO,CAAC,CAAC;QACX,KAAK,GAAG;YACN,OAAO,CAAC,CAAC;QACX,KAAK,GAAG;YACN,OAAO,CAAC,CAAC;QACX,KAAK,GAAG;YACN,OAAO,EAAE,CAAC;QACZ,KAAK,GAAG;YACN,OAAO,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AASD,SAAS,QAAQ,CAAC,EAAE,IAAI,GAAG,GAAG,EAAE,KAAK,EAAE,KAAK,GAAG,CAAC,EAAE,GAAG,GAAG,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK,EAAiB;IAC3F,MAAM,EAAE,MAAM,EAAE,GAAG,cAAc,EAAE,CAAC;IAEpC,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;IAClC,qEAAqE;IACrE,gDAAgD;IAChD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,IAAI,IAAI,CAAC;IAE3D,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE/B,gCAAgC;IAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9D,MAAM,eAAe,GAAG,QAAQ,GAAG,GAAG,CAAC;IAEvC,cAAc;IACd,MAAM,UAAU,GAAc;QAC5B,KAAK,EAAE,MAAM;QACb,MAAM;QACN,YAAY,EAAE,MAAM,GAAG,CAAC,EAAE,+BAA+B;QACzD,eAAe,EAAE,IAAI,CAAC,EAAE;QACxB,QAAQ,EAAE,QAAQ;KACnB,CAAC;IAEF,kBAAkB;IAClB,MAAM,cAAc,GAAc;QAChC,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,GAAG,eAAe,GAAG;QAC5B,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC;QAC7B,YAAY,EAAE,MAAM,GAAG,CAAC;KACzB,CAAC;IAEF,OAAO,CACL,CAAC,IAAI,CACH,IAAI,CAAC,aAAa,CAClB,aAAa,CAAC,CAAC,CAAC,CAAC,CACjB,aAAa,CAAC,CAAC,GAAG,CAAC,CACnB,aAAa,CAAC,CAAC,KAAK,CAAC,CACrB,KAAK,CAAC,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAC3B,IAAI,KAAK,CAAC,CACV;MAAA,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,CAAC,EAC9B;IAAA,EAAE,IAAI,CAAC,CACR,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}