@campxdev/react-native-blueprint 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/global.css +417 -0
- package/lib/module/components/ui/index.js +1 -0
- package/lib/module/components/ui/index.js.map +1 -1
- package/lib/module/types/global.d.js +6 -0
- package/lib/module/types/global.d.js.map +1 -0
- package/lib/module/types/rn-primitives.d.js +6 -0
- package/lib/module/types/rn-primitives.d.js.map +1 -0
- package/lib/typescript/src/app/_layout.d.ts +7 -8
- package/lib/typescript/src/components/ui/Accordion.d.ts +103 -11
- package/lib/typescript/src/components/ui/Alert-Dialog.d.ts +167 -10
- package/lib/typescript/src/components/ui/Alert-Dialog.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Alert.d.ts +59 -10
- package/lib/typescript/src/components/ui/Avatar.d.ts +1350 -10
- package/lib/typescript/src/components/ui/Badge.d.ts +203 -10
- package/lib/typescript/src/components/ui/Bottom-Sheet.d.ts +43 -11
- package/lib/typescript/src/components/ui/Button.d.ts +175 -10
- package/lib/typescript/src/components/ui/Card.d.ts +853 -10
- package/lib/typescript/src/components/ui/Checkbox.d.ts +36 -11
- package/lib/typescript/src/components/ui/Collapsible.d.ts +1 -147
- package/lib/typescript/src/components/ui/Collapsible.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Context-Menu.d.ts +149 -10
- package/lib/typescript/src/components/ui/Context-Menu.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Custom-Card.d.ts +863 -10
- package/lib/typescript/src/components/ui/Dialog.d.ts +125 -10
- package/lib/typescript/src/components/ui/Dialog.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Dropdown-Menu.d.ts +283 -10
- package/lib/typescript/src/components/ui/Dropdown-Menu.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Greeting-Card.d.ts +152 -10
- package/lib/typescript/src/components/ui/Hover-Card.d.ts +67 -10
- package/lib/typescript/src/components/ui/Hover-Card.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Icon.d.ts +43 -11
- package/lib/typescript/src/components/ui/Input.d.ts +51 -10
- package/lib/typescript/src/components/ui/Label.d.ts +104 -10
- package/lib/typescript/src/components/ui/Menubar.d.ts +174 -10
- package/lib/typescript/src/components/ui/NavBar.d.ts +271 -9
- package/lib/typescript/src/components/ui/Popover.d.ts +70 -10
- package/lib/typescript/src/components/ui/Popover.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/Progress.d.ts +27 -11
- package/lib/typescript/src/components/ui/Radio-Group.d.ts +47 -11
- package/lib/typescript/src/components/ui/Select.d.ts +106 -10
- package/lib/typescript/src/components/ui/Separator.d.ts +165 -10
- package/lib/typescript/src/components/ui/Skeleton.d.ts +40 -11
- package/lib/typescript/src/components/ui/Slider.d.ts +52 -8
- package/lib/typescript/src/components/ui/Switch.d.ts +34 -11
- package/lib/typescript/src/components/ui/Table.d.ts +69 -10
- package/lib/typescript/src/components/ui/Tabs.d.ts +51 -11
- package/lib/typescript/src/components/ui/Text.d.ts +115 -10
- package/lib/typescript/src/components/ui/Textarea.d.ts +60 -10
- package/lib/typescript/src/components/ui/Theme-Toggle.d.ts +193 -10
- package/lib/typescript/src/components/ui/Toast.d.ts +54 -10
- package/lib/typescript/src/components/ui/Toggle-Group.d.ts +48 -10
- package/lib/typescript/src/components/ui/Toggle.d.ts +52 -10
- package/lib/typescript/src/components/ui/Tooltip.d.ts +70 -10
- package/lib/typescript/src/components/ui/Tooltip.d.ts.map +1 -1
- package/lib/typescript/src/components/ui/index.d.ts +7 -2
- package/lib/typescript/src/components/ui/index.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +7 -93
- package/lib/typescript/src/lib/ThemeProvider.d.ts +136 -13
- package/lib/typescript/src/lib/cornerRadius.d.ts +112 -21
- package/lib/typescript/src/lib/fonts.d.ts +21 -30
- package/lib/typescript/src/lib/theme.d.ts +86 -8
- package/lib/typescript/src/lib/utils.d.ts +111 -1
- package/package.json +3 -9
- package/src/components/ui/index.ts +1 -0
- package/src/types/global.d.ts +44 -0
- package/src/types/rn-primitives.d.ts +70 -0
- package/lib/typescript/babel.config.d.ts +0 -13
- package/lib/typescript/babel.config.d.ts.map +0 -1
- package/lib/typescript/metro.config.d.ts +0 -3
- package/lib/typescript/metro.config.d.ts.map +0 -1
- package/lib/typescript/src/components/ui/Floating-Action-Button.d.ts +0 -11
- package/lib/typescript/src/components/ui.d.ts +0 -49
- package/lib/typescript/tailwind.config.d.ts +0 -3
- package/lib/typescript/tailwind.config.d.ts.map +0 -1
|
@@ -1,11 +1,116 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Context for sharing text class styles with child Text components
|
|
4
|
+
* Used by components like Button, Card, Badge to automatically style nested Text
|
|
5
|
+
*/
|
|
6
|
+
declare const TextClassContext: React.Context<string>;
|
|
7
|
+
/**
|
|
8
|
+
* Enhanced Text component with NativeWind styling support
|
|
9
|
+
*
|
|
10
|
+
* Extends React Native's Text with:
|
|
11
|
+
* - Automatic style inheritance from TextClassContext
|
|
12
|
+
* - NativeWind className support
|
|
13
|
+
* - Slot pattern support for composition
|
|
14
|
+
* - Web-specific selection styling
|
|
15
|
+
*
|
|
16
|
+
* @component
|
|
17
|
+
* @example
|
|
18
|
+
* ```tsx
|
|
19
|
+
* // Basic text
|
|
20
|
+
* <Text>Hello World</Text>
|
|
21
|
+
*
|
|
22
|
+
* // With custom styling
|
|
23
|
+
* <Text className="text-lg font-bold">Title</Text>
|
|
24
|
+
*
|
|
25
|
+
* // Inside a styled context (e.g., Button)
|
|
26
|
+
* <Button variant="default">
|
|
27
|
+
* <Text>Button Text</Text> // Automatically inherits button text styling
|
|
28
|
+
* </Button>
|
|
29
|
+
*
|
|
30
|
+
* // Using asChild for composition
|
|
31
|
+
* <Text asChild>
|
|
32
|
+
* <Link href="/home">Home</Link>
|
|
33
|
+
* </Text>
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* @property {string} [className] - Additional Tailwind classes
|
|
37
|
+
* @property {boolean} [asChild] - When true, merges props into immediate child
|
|
38
|
+
*/
|
|
39
|
+
declare const Text: React.ForwardRefExoticComponent<Omit<Omit<Readonly<Omit<Readonly<{
|
|
40
|
+
onPointerEnter?: (event: import("react-native").PointerEvent) => void;
|
|
41
|
+
onPointerLeave?: (event: import("react-native").PointerEvent) => void;
|
|
42
|
+
onPointerMove?: (event: import("react-native").PointerEvent) => void;
|
|
43
|
+
}>, "onMoveShouldSetResponder" | "onResponderGrant" | "onResponderMove" | "onResponderRelease" | "onResponderTerminate" | "onResponderTerminationRequest" | "onStartShouldSetResponder" | "children" | "disabled" | "onPress" | "onPressIn" | "onPressOut" | "onLongPress" | "id" | "onLayout" | "accessibilityLabel" | "accessible" | "testID" | "style" | "adjustsFontSizeToFit" | "dynamicTypeRamp" | "suppressHighlighting" | "lineBreakStrategyIOS" | "selectionColor" | "dataDetectorType" | "textBreakStrategy" | "minimumFontScale" | "onAccessibilityAction" | "allowFontScaling" | "android_hyphenationFrequency" | "ellipsizeMode" | "maxFontSizeMultiplier" | "nativeID" | "numberOfLines" | "onTextLayout" | "pressRetentionOffset" | "role" | "selectable" | "accessibilityIgnoresInvertColors" | "accessibilityViewIsModal" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "aria-modal" | "accessibilityElementsHidden" | "accessibilityLanguage" | "accessibilityRespondsToUserInteraction" | "accessibilityHint" | "aria-label" | "accessibilityRole" | "accessibilityState" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "accessibilityActions" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "aria-hidden" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "importantForAccessibility" | "screenReaderFocusable"> & Omit<import("react-native/types_generated/Libraries/Text/TextProps").TextPropsIOS, "onMoveShouldSetResponder" | "onResponderGrant" | "onResponderMove" | "onResponderRelease" | "onResponderTerminate" | "onResponderTerminationRequest" | "onStartShouldSetResponder" | "children" | "onPress" | "onPressIn" | "onPressOut" | "onLongPress" | "id" | "onLayout" | "accessibilityLabel" | "accessible" | "testID" | "style" | keyof import("react-native/types_generated/Libraries/Text/TextProps").TextPropsAndroid | "onAccessibilityAction" | "allowFontScaling" | "android_hyphenationFrequency" | "ellipsizeMode" | "maxFontSizeMultiplier" | "nativeID" | "numberOfLines" | "onTextLayout" | "pressRetentionOffset" | "role" | "selectable" | "accessibilityIgnoresInvertColors" | "accessibilityViewIsModal" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "aria-modal" | "accessibilityElementsHidden" | "accessibilityLanguage" | "accessibilityRespondsToUserInteraction" | "accessibilityHint" | "aria-label" | "accessibilityRole" | "accessibilityState" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "accessibilityActions" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "aria-hidden" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "importantForAccessibility" | "screenReaderFocusable"> & Omit<import("react-native/types_generated/Libraries/Text/TextProps").TextPropsAndroid, "onMoveShouldSetResponder" | "onResponderGrant" | "onResponderMove" | "onResponderRelease" | "onResponderTerminate" | "onResponderTerminationRequest" | "onStartShouldSetResponder" | "children" | "onPress" | "onPressIn" | "onPressOut" | "onLongPress" | "id" | "onLayout" | "accessibilityLabel" | "accessible" | "testID" | "style" | "onAccessibilityAction" | "allowFontScaling" | "android_hyphenationFrequency" | "ellipsizeMode" | "maxFontSizeMultiplier" | "nativeID" | "numberOfLines" | "onTextLayout" | "pressRetentionOffset" | "role" | "selectable" | "accessibilityIgnoresInvertColors" | "accessibilityViewIsModal" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "aria-modal" | "accessibilityElementsHidden" | "accessibilityLanguage" | "accessibilityRespondsToUserInteraction" | "accessibilityHint" | "aria-label" | "accessibilityRole" | "accessibilityState" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "accessibilityActions" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "aria-hidden" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "importantForAccessibility" | "screenReaderFocusable"> & Omit<Readonly<{
|
|
44
|
+
onAccessibilityAction?: ((event: import("react-native").AccessibilityActionEvent) => unknown) | undefined;
|
|
45
|
+
allowFontScaling?: boolean | undefined;
|
|
46
|
+
android_hyphenationFrequency?: ("normal" | "none" | "full") | undefined;
|
|
47
|
+
children?: React.ReactNode | undefined;
|
|
48
|
+
ellipsizeMode?: ("clip" | "head" | "middle" | "tail") | undefined;
|
|
49
|
+
id?: string;
|
|
50
|
+
maxFontSizeMultiplier?: number | undefined;
|
|
51
|
+
nativeID?: string | undefined;
|
|
52
|
+
numberOfLines?: number | undefined;
|
|
53
|
+
onLayout?: ((event: import("react-native").LayoutChangeEvent) => unknown) | undefined;
|
|
54
|
+
onLongPress?: ((event: import("react-native").GestureResponderEvent) => unknown) | undefined;
|
|
55
|
+
onPress?: ((event: import("react-native").GestureResponderEvent) => unknown) | undefined;
|
|
56
|
+
onPressIn?: ((event: import("react-native").GestureResponderEvent) => unknown) | undefined;
|
|
57
|
+
onPressOut?: ((event: import("react-native").GestureResponderEvent) => unknown) | undefined;
|
|
58
|
+
onResponderGrant?: ((event: import("react-native").GestureResponderEvent) => void) | undefined;
|
|
59
|
+
onResponderMove?: ((event: import("react-native").GestureResponderEvent) => void) | undefined;
|
|
60
|
+
onResponderRelease?: ((event: import("react-native").GestureResponderEvent) => void) | undefined;
|
|
61
|
+
onResponderTerminate?: ((event: import("react-native").GestureResponderEvent) => void) | undefined;
|
|
62
|
+
onResponderTerminationRequest?: (() => boolean) | undefined;
|
|
63
|
+
onStartShouldSetResponder?: (() => boolean) | undefined;
|
|
64
|
+
onMoveShouldSetResponder?: (() => boolean) | undefined;
|
|
65
|
+
onTextLayout?: ((event: import("react-native").TextLayoutEvent) => unknown) | undefined;
|
|
66
|
+
pressRetentionOffset?: import("react-native/types_generated/Libraries/Text/TextProps").PressRetentionOffset | undefined;
|
|
67
|
+
role?: import("react-native").Role | undefined;
|
|
68
|
+
selectable?: boolean | undefined;
|
|
69
|
+
style?: import("react-native/types_generated/Libraries/StyleSheet/StyleSheet").TextStyleProp | undefined;
|
|
70
|
+
testID?: string | undefined;
|
|
71
|
+
}>, "accessibilityLabel" | "accessible" | "role" | "accessibilityIgnoresInvertColors" | "accessibilityViewIsModal" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "aria-modal" | "accessibilityElementsHidden" | "accessibilityLanguage" | "accessibilityRespondsToUserInteraction" | "accessibilityHint" | "aria-label" | "accessibilityRole" | "accessibilityState" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "accessibilityActions" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "aria-hidden" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "importantForAccessibility" | "screenReaderFocusable"> & Omit<Readonly<Omit<Readonly<{
|
|
72
|
+
accessibilityLabelledBy?: (string | undefined) | (Array<string> | undefined);
|
|
73
|
+
"aria-labelledby"?: string | undefined;
|
|
74
|
+
accessibilityLiveRegion?: ("none" | "polite" | "assertive") | undefined;
|
|
75
|
+
"aria-live"?: ("polite" | "assertive" | "off") | undefined;
|
|
76
|
+
importantForAccessibility?: ("auto" | "yes" | "no" | "no-hide-descendants") | undefined;
|
|
77
|
+
screenReaderFocusable?: boolean;
|
|
78
|
+
}>, "accessibilityLabel" | "accessible" | "role" | "accessibilityIgnoresInvertColors" | "accessibilityViewIsModal" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "aria-modal" | "accessibilityElementsHidden" | "accessibilityLanguage" | "accessibilityRespondsToUserInteraction" | "accessibilityHint" | "aria-label" | "accessibilityRole" | "accessibilityState" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "accessibilityActions" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "aria-hidden"> & Omit<Readonly<{
|
|
79
|
+
accessibilityIgnoresInvertColors?: boolean | undefined;
|
|
80
|
+
accessibilityViewIsModal?: boolean | undefined;
|
|
81
|
+
accessibilityShowsLargeContentViewer?: boolean | undefined;
|
|
82
|
+
accessibilityLargeContentTitle?: string | undefined;
|
|
83
|
+
"aria-modal"?: boolean | undefined;
|
|
84
|
+
accessibilityElementsHidden?: boolean | undefined;
|
|
85
|
+
accessibilityLanguage?: string | undefined;
|
|
86
|
+
accessibilityRespondsToUserInteraction?: boolean | undefined;
|
|
87
|
+
}>, "accessibilityLabel" | "accessible" | "role" | "accessibilityHint" | "aria-label" | "accessibilityRole" | "accessibilityState" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "accessibilityActions" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "aria-hidden"> & {
|
|
88
|
+
accessible?: boolean | undefined;
|
|
89
|
+
accessibilityLabel?: string | undefined;
|
|
90
|
+
accessibilityHint?: string | undefined;
|
|
91
|
+
"aria-label"?: string | undefined;
|
|
92
|
+
accessibilityRole?: import("react-native").AccessibilityRole | undefined;
|
|
93
|
+
role?: import("react-native").Role | undefined;
|
|
94
|
+
accessibilityState?: import("react-native").AccessibilityState | undefined;
|
|
95
|
+
accessibilityValue?: import("react-native").AccessibilityValue | undefined;
|
|
96
|
+
"aria-valuemax"?: import("react-native").AccessibilityValue["max"] | undefined;
|
|
97
|
+
"aria-valuemin"?: import("react-native").AccessibilityValue["min"] | undefined;
|
|
98
|
+
"aria-valuenow"?: import("react-native").AccessibilityValue["now"] | undefined;
|
|
99
|
+
"aria-valuetext"?: import("react-native").AccessibilityValue["text"] | undefined;
|
|
100
|
+
accessibilityActions?: ReadonlyArray<import("react-native/types_generated/Libraries/Components/View/ViewAccessibility").AccessibilityActionInfo> | undefined;
|
|
101
|
+
"aria-busy"?: boolean | undefined;
|
|
102
|
+
"aria-checked"?: (boolean | undefined) | "mixed";
|
|
103
|
+
"aria-disabled"?: boolean | undefined;
|
|
104
|
+
"aria-expanded"?: boolean | undefined;
|
|
105
|
+
"aria-selected"?: boolean | undefined;
|
|
106
|
+
"aria-hidden"?: boolean | undefined;
|
|
107
|
+
}>, never>>, "ref"> & {
|
|
108
|
+
ref?: React.Ref<import("react-native/types_generated/src/private/types/HostInstance").LegacyHostInstanceMethods>;
|
|
109
|
+
}, "ref"> & {
|
|
110
|
+
asChild?: boolean;
|
|
111
|
+
} & {
|
|
112
|
+
className?: string;
|
|
113
|
+
children?: React.ReactNode;
|
|
114
|
+
} & React.RefAttributes<import("react-native/types_generated/src/private/types/HostInstance").LegacyHostInstanceMethods>>;
|
|
115
|
+
export { Text, TextClassContext };
|
|
116
|
+
//# sourceMappingURL=Text.d.ts.map
|
|
@@ -1,11 +1,61 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { TextInput, type TextInputProps } from 'react-native';
|
|
2
|
+
/**
|
|
3
|
+
* Props for Textarea component
|
|
4
|
+
*
|
|
5
|
+
* @extends TextInputProps - All React Native TextInput properties
|
|
6
|
+
* @property {string} [className] - Additional Tailwind classes for styling
|
|
7
|
+
* @property {string} [placeholderClassName] - Tailwind classes for placeholder text styling
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```tsx
|
|
11
|
+
* <Textarea
|
|
12
|
+
* placeholder="Enter your message"
|
|
13
|
+
* value={message}
|
|
14
|
+
* onChangeText={setMessage}
|
|
15
|
+
* numberOfLines={4}
|
|
16
|
+
* />
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
interface TextareaProps extends TextInputProps {
|
|
20
|
+
className?: string;
|
|
21
|
+
placeholderClassName?: string;
|
|
8
22
|
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
23
|
+
/**
|
|
24
|
+
* Multi-line text input component
|
|
25
|
+
*
|
|
26
|
+
* A textarea component for longer text input with configurable height and styling.
|
|
27
|
+
* Automatically configured for multi-line input with appropriate platform-specific defaults.
|
|
28
|
+
*
|
|
29
|
+
* @component
|
|
30
|
+
* @example
|
|
31
|
+
* ```tsx
|
|
32
|
+
* // Basic textarea
|
|
33
|
+
* <Textarea
|
|
34
|
+
* placeholder="Enter description"
|
|
35
|
+
* value={description}
|
|
36
|
+
* onChangeText={setDescription}
|
|
37
|
+
* />
|
|
38
|
+
*
|
|
39
|
+
* // Controlled textarea with validation
|
|
40
|
+
* <Textarea
|
|
41
|
+
* value={bio}
|
|
42
|
+
* onChangeText={setBio}
|
|
43
|
+
* placeholder="Tell us about yourself"
|
|
44
|
+
* numberOfLines={6}
|
|
45
|
+
* maxLength={500}
|
|
46
|
+
* />
|
|
47
|
+
*
|
|
48
|
+
* // Disabled textarea
|
|
49
|
+
* <Textarea value={content} editable={false} />
|
|
50
|
+
* ```
|
|
51
|
+
*
|
|
52
|
+
* @accessibility
|
|
53
|
+
* - Supports standard TextInput accessibility props
|
|
54
|
+
* - Placeholder text with appropriate color contrast
|
|
55
|
+
* - Focus states on web for keyboard navigation
|
|
56
|
+
* - Disabled state with reduced opacity
|
|
57
|
+
*/
|
|
58
|
+
declare function Textarea({ className, multiline, numberOfLines, placeholderClassName, editable, ...props }: TextareaProps & React.RefAttributes<TextInput>): import("react/jsx-runtime").JSX.Element;
|
|
59
|
+
export { Textarea };
|
|
60
|
+
export type { TextareaProps };
|
|
61
|
+
//# sourceMappingURL=Textarea.d.ts.map
|
|
@@ -1,11 +1,194 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
2
|
+
import type { SlottableViewProps } from '@rn-primitives/types';
|
|
3
|
+
/**
|
|
4
|
+
* Theme toggle button variants
|
|
5
|
+
*/
|
|
6
|
+
type ThemeToggleVariant = 'icon' | 'button' | 'segmented';
|
|
7
|
+
/**
|
|
8
|
+
* Props for ThemeToggle component
|
|
9
|
+
*
|
|
10
|
+
* @property {'icon' | 'button' | 'segmented'} [variant='icon'] - Visual style variant
|
|
11
|
+
* @property {boolean} [showLabel=false] - Show text label next to icon (for button variant)
|
|
12
|
+
* @property {string} [className] - Additional Tailwind classes
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```tsx
|
|
16
|
+
* // Icon only (default)
|
|
17
|
+
* <ThemeToggle />
|
|
18
|
+
*
|
|
19
|
+
* // Button with label
|
|
20
|
+
* <ThemeToggle variant="button" showLabel />
|
|
21
|
+
*
|
|
22
|
+
* // Segmented control
|
|
23
|
+
* <ThemeToggle variant="segmented" />
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
type ThemeToggleProps = SlottableViewProps & {
|
|
27
|
+
variant?: ThemeToggleVariant;
|
|
28
|
+
showLabel?: boolean;
|
|
29
|
+
className?: string;
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Theme toggle component for switching between light, dark, and system themes
|
|
33
|
+
*
|
|
34
|
+
* Provides three variants:
|
|
35
|
+
* - **icon**: Simple icon button that cycles through themes (light → dark → system)
|
|
36
|
+
* - **button**: Button with icon and optional label
|
|
37
|
+
* - **segmented**: Segmented control showing all three options
|
|
38
|
+
*
|
|
39
|
+
* @component
|
|
40
|
+
* @example
|
|
41
|
+
* ```tsx
|
|
42
|
+
* // Icon toggle (minimal)
|
|
43
|
+
* <ThemeToggle />
|
|
44
|
+
*
|
|
45
|
+
* // Button with label
|
|
46
|
+
* <ThemeToggle variant="button" showLabel />
|
|
47
|
+
*
|
|
48
|
+
* // Segmented control (shows all options)
|
|
49
|
+
* <ThemeToggle variant="segmented" />
|
|
50
|
+
*
|
|
51
|
+
* // Custom styling
|
|
52
|
+
* <ThemeToggle className="my-4" />
|
|
53
|
+
* ```
|
|
54
|
+
*
|
|
55
|
+
* @accessibility
|
|
56
|
+
* - Proper button role for screen readers
|
|
57
|
+
* - Announces current theme state
|
|
58
|
+
* - Keyboard navigable on web
|
|
59
|
+
*/
|
|
60
|
+
declare const ThemeToggle: React.ForwardRefExoticComponent<Omit<Omit<Readonly<Omit<Readonly<{
|
|
61
|
+
onAccessibilityAction?: ((event: import("react-native").AccessibilityActionEvent) => unknown) | undefined;
|
|
62
|
+
onAccessibilityTap?: (() => unknown) | undefined;
|
|
63
|
+
onLayout?: ((event: import("react-native").LayoutChangeEvent) => unknown) | undefined;
|
|
64
|
+
onMagicTap?: (() => unknown) | undefined;
|
|
65
|
+
onAccessibilityEscape?: (() => unknown) | undefined;
|
|
66
|
+
}>, "onMoveShouldSetResponder" | "onMoveShouldSetResponderCapture" | "onResponderGrant" | "onResponderMove" | "onResponderReject" | "onResponderRelease" | "onResponderStart" | "onResponderEnd" | "onResponderTerminate" | "onResponderTerminationRequest" | "onStartShouldSetResponder" | "onStartShouldSetResponderCapture" | "pointerEvents" | "hitSlop" | "children" | "id" | "accessibilityLabel" | "accessible" | "testID" | "style" | "nativeID" | "role" | "accessibilityIgnoresInvertColors" | "accessibilityViewIsModal" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "aria-modal" | "accessibilityElementsHidden" | "accessibilityLanguage" | "accessibilityRespondsToUserInteraction" | "accessibilityHint" | "aria-label" | "accessibilityRole" | "accessibilityState" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "accessibilityActions" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "aria-hidden" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "importantForAccessibility" | "screenReaderFocusable" | "onPointerEnter" | "onPointerLeave" | "onPointerMove" | "onClick" | "onMouseEnter" | "onMouseLeave" | "onClickCapture" | "onPointerEnterCapture" | "onPointerLeaveCapture" | "onPointerMoveCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onBlur" | "onBlurCapture" | "onFocus" | "onFocusCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "nativeBackgroundAndroid" | "nativeForegroundAndroid" | "renderToHardwareTextureAndroid" | "hasTVPreferredFocus" | "nextFocusDown" | "nextFocusForward" | "nextFocusLeft" | "nextFocusRight" | "nextFocusUp" | "focusable" | "tabIndex" | "shouldRasterizeIOS" | "collapsable" | "collapsableChildren" | "needsOffscreenAlphaCompositing" | "removeClippedSubviews" | "experimental_accessibilityOrder"> & Omit<Readonly<{
|
|
67
|
+
onMoveShouldSetResponder?: ((e: import("react-native").GestureResponderEvent) => boolean) | undefined;
|
|
68
|
+
onMoveShouldSetResponderCapture?: ((e: import("react-native").GestureResponderEvent) => boolean) | undefined;
|
|
69
|
+
onResponderGrant?: ((e: import("react-native").GestureResponderEvent) => void | boolean) | undefined;
|
|
70
|
+
onResponderMove?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
|
|
71
|
+
onResponderReject?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
|
|
72
|
+
onResponderRelease?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
|
|
73
|
+
onResponderStart?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
|
|
74
|
+
onResponderEnd?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
|
|
75
|
+
onResponderTerminate?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
|
|
76
|
+
onResponderTerminationRequest?: ((e: import("react-native").GestureResponderEvent) => boolean) | undefined;
|
|
77
|
+
onStartShouldSetResponder?: ((e: import("react-native").GestureResponderEvent) => boolean) | undefined;
|
|
78
|
+
onStartShouldSetResponderCapture?: ((e: import("react-native").GestureResponderEvent) => boolean) | undefined;
|
|
79
|
+
}>, "pointerEvents" | "hitSlop" | "children" | "id" | "accessibilityLabel" | "accessible" | "testID" | "style" | "nativeID" | "role" | "accessibilityIgnoresInvertColors" | "accessibilityViewIsModal" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "aria-modal" | "accessibilityElementsHidden" | "accessibilityLanguage" | "accessibilityRespondsToUserInteraction" | "accessibilityHint" | "aria-label" | "accessibilityRole" | "accessibilityState" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "accessibilityActions" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "aria-hidden" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "importantForAccessibility" | "screenReaderFocusable" | "onPointerEnter" | "onPointerLeave" | "onPointerMove" | "onClick" | "onMouseEnter" | "onMouseLeave" | "onClickCapture" | "onPointerEnterCapture" | "onPointerLeaveCapture" | "onPointerMoveCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onBlur" | "onBlurCapture" | "onFocus" | "onFocusCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "nativeBackgroundAndroid" | "nativeForegroundAndroid" | "renderToHardwareTextureAndroid" | "hasTVPreferredFocus" | "nextFocusDown" | "nextFocusForward" | "nextFocusLeft" | "nextFocusRight" | "nextFocusUp" | "focusable" | "tabIndex" | "shouldRasterizeIOS" | "collapsable" | "collapsableChildren" | "needsOffscreenAlphaCompositing" | "removeClippedSubviews" | "experimental_accessibilityOrder"> & Omit<Readonly<{
|
|
80
|
+
onMouseEnter?: ((event: import("react-native").MouseEvent) => void) | undefined;
|
|
81
|
+
onMouseLeave?: ((event: import("react-native").MouseEvent) => void) | undefined;
|
|
82
|
+
}>, "pointerEvents" | "hitSlop" | "children" | "id" | "accessibilityLabel" | "accessible" | "testID" | "style" | "nativeID" | "role" | "accessibilityIgnoresInvertColors" | "accessibilityViewIsModal" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "aria-modal" | "accessibilityElementsHidden" | "accessibilityLanguage" | "accessibilityRespondsToUserInteraction" | "accessibilityHint" | "aria-label" | "accessibilityRole" | "accessibilityState" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "accessibilityActions" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "aria-hidden" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "importantForAccessibility" | "screenReaderFocusable" | "onPointerEnter" | "onPointerLeave" | "onPointerMove" | "onClick" | "onClickCapture" | "onPointerEnterCapture" | "onPointerLeaveCapture" | "onPointerMoveCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onBlur" | "onBlurCapture" | "onFocus" | "onFocusCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "nativeBackgroundAndroid" | "nativeForegroundAndroid" | "renderToHardwareTextureAndroid" | "hasTVPreferredFocus" | "nextFocusDown" | "nextFocusForward" | "nextFocusLeft" | "nextFocusRight" | "nextFocusUp" | "focusable" | "tabIndex" | "shouldRasterizeIOS" | "collapsable" | "collapsableChildren" | "needsOffscreenAlphaCompositing" | "removeClippedSubviews" | "experimental_accessibilityOrder"> & Omit<Readonly<{
|
|
83
|
+
onClick?: ((event: import("react-native").PointerEvent) => void) | undefined;
|
|
84
|
+
onClickCapture?: ((event: import("react-native").PointerEvent) => void) | undefined;
|
|
85
|
+
onPointerEnter?: ((event: import("react-native").PointerEvent) => void) | undefined;
|
|
86
|
+
onPointerEnterCapture?: ((event: import("react-native").PointerEvent) => void) | undefined;
|
|
87
|
+
onPointerLeave?: ((event: import("react-native").PointerEvent) => void) | undefined;
|
|
88
|
+
onPointerLeaveCapture?: ((event: import("react-native").PointerEvent) => void) | undefined;
|
|
89
|
+
onPointerMove?: ((event: import("react-native").PointerEvent) => void) | undefined;
|
|
90
|
+
onPointerMoveCapture?: ((event: import("react-native").PointerEvent) => void) | undefined;
|
|
91
|
+
onPointerCancel?: ((e: import("react-native").PointerEvent) => void) | undefined;
|
|
92
|
+
onPointerCancelCapture?: ((e: import("react-native").PointerEvent) => void) | undefined;
|
|
93
|
+
onPointerDown?: ((e: import("react-native").PointerEvent) => void) | undefined;
|
|
94
|
+
onPointerDownCapture?: ((e: import("react-native").PointerEvent) => void) | undefined;
|
|
95
|
+
onPointerUp?: ((e: import("react-native").PointerEvent) => void) | undefined;
|
|
96
|
+
onPointerUpCapture?: ((e: import("react-native").PointerEvent) => void) | undefined;
|
|
97
|
+
onPointerOver?: ((e: import("react-native").PointerEvent) => void) | undefined;
|
|
98
|
+
onPointerOverCapture?: ((e: import("react-native").PointerEvent) => void) | undefined;
|
|
99
|
+
onPointerOut?: ((e: import("react-native").PointerEvent) => void) | undefined;
|
|
100
|
+
onPointerOutCapture?: ((e: import("react-native").PointerEvent) => void) | undefined;
|
|
101
|
+
onGotPointerCapture?: ((e: import("react-native").PointerEvent) => void) | undefined;
|
|
102
|
+
onGotPointerCaptureCapture?: ((e: import("react-native").PointerEvent) => void) | undefined;
|
|
103
|
+
onLostPointerCapture?: ((e: import("react-native").PointerEvent) => void) | undefined;
|
|
104
|
+
onLostPointerCaptureCapture?: ((e: import("react-native").PointerEvent) => void) | undefined;
|
|
105
|
+
}>, "pointerEvents" | "hitSlop" | "children" | "id" | "accessibilityLabel" | "accessible" | "testID" | "style" | "nativeID" | "role" | "accessibilityIgnoresInvertColors" | "accessibilityViewIsModal" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "aria-modal" | "accessibilityElementsHidden" | "accessibilityLanguage" | "accessibilityRespondsToUserInteraction" | "accessibilityHint" | "aria-label" | "accessibilityRole" | "accessibilityState" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "accessibilityActions" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "aria-hidden" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "importantForAccessibility" | "screenReaderFocusable" | "onClick" | "onBlur" | "onBlurCapture" | "onFocus" | "onFocusCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "nativeBackgroundAndroid" | "nativeForegroundAndroid" | "renderToHardwareTextureAndroid" | "hasTVPreferredFocus" | "nextFocusDown" | "nextFocusForward" | "nextFocusLeft" | "nextFocusRight" | "nextFocusUp" | "focusable" | "tabIndex" | "shouldRasterizeIOS" | "collapsable" | "collapsableChildren" | "needsOffscreenAlphaCompositing" | "removeClippedSubviews" | "experimental_accessibilityOrder"> & Omit<Readonly<{
|
|
106
|
+
onBlur?: ((event: import("react-native").BlurEvent) => void) | undefined;
|
|
107
|
+
onBlurCapture?: ((event: import("react-native").BlurEvent) => void) | undefined;
|
|
108
|
+
onFocus?: ((event: import("react-native").FocusEvent) => void) | undefined;
|
|
109
|
+
onFocusCapture?: ((event: import("react-native").FocusEvent) => void) | undefined;
|
|
110
|
+
}>, "pointerEvents" | "hitSlop" | "children" | "id" | "accessibilityLabel" | "accessible" | "testID" | "style" | "nativeID" | "role" | "accessibilityIgnoresInvertColors" | "accessibilityViewIsModal" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "aria-modal" | "accessibilityElementsHidden" | "accessibilityLanguage" | "accessibilityRespondsToUserInteraction" | "accessibilityHint" | "aria-label" | "accessibilityRole" | "accessibilityState" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "accessibilityActions" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "aria-hidden" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "importantForAccessibility" | "screenReaderFocusable" | "onClick" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "nativeBackgroundAndroid" | "nativeForegroundAndroid" | "renderToHardwareTextureAndroid" | "hasTVPreferredFocus" | "nextFocusDown" | "nextFocusForward" | "nextFocusLeft" | "nextFocusRight" | "nextFocusUp" | "focusable" | "tabIndex" | "shouldRasterizeIOS" | "collapsable" | "collapsableChildren" | "needsOffscreenAlphaCompositing" | "removeClippedSubviews" | "experimental_accessibilityOrder"> & Omit<Readonly<{
|
|
111
|
+
onTouchCancel?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
|
|
112
|
+
onTouchCancelCapture?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
|
|
113
|
+
onTouchEnd?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
|
|
114
|
+
onTouchEndCapture?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
|
|
115
|
+
onTouchMove?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
|
|
116
|
+
onTouchMoveCapture?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
|
|
117
|
+
onTouchStart?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
|
|
118
|
+
onTouchStartCapture?: ((e: import("react-native").GestureResponderEvent) => void) | undefined;
|
|
119
|
+
}>, "pointerEvents" | "hitSlop" | "children" | "id" | "accessibilityLabel" | "accessible" | "testID" | "style" | "nativeID" | "role" | "accessibilityIgnoresInvertColors" | "accessibilityViewIsModal" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "aria-modal" | "accessibilityElementsHidden" | "accessibilityLanguage" | "accessibilityRespondsToUserInteraction" | "accessibilityHint" | "aria-label" | "accessibilityRole" | "accessibilityState" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "accessibilityActions" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "aria-hidden" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "importantForAccessibility" | "screenReaderFocusable" | "onClick" | "nativeBackgroundAndroid" | "nativeForegroundAndroid" | "renderToHardwareTextureAndroid" | "hasTVPreferredFocus" | "nextFocusDown" | "nextFocusForward" | "nextFocusLeft" | "nextFocusRight" | "nextFocusUp" | "focusable" | "tabIndex" | "shouldRasterizeIOS" | "collapsable" | "collapsableChildren" | "needsOffscreenAlphaCompositing" | "removeClippedSubviews" | "experimental_accessibilityOrder"> & Omit<Readonly<{
|
|
120
|
+
nativeBackgroundAndroid?: import("react-native/types_generated/Libraries/Components/View/ViewPropTypes").AndroidDrawable | undefined;
|
|
121
|
+
nativeForegroundAndroid?: import("react-native/types_generated/Libraries/Components/View/ViewPropTypes").AndroidDrawable | undefined;
|
|
122
|
+
renderToHardwareTextureAndroid?: boolean | undefined;
|
|
123
|
+
hasTVPreferredFocus?: boolean | undefined;
|
|
124
|
+
nextFocusDown?: number | undefined;
|
|
125
|
+
nextFocusForward?: number | undefined;
|
|
126
|
+
nextFocusLeft?: number | undefined;
|
|
127
|
+
nextFocusRight?: number | undefined;
|
|
128
|
+
nextFocusUp?: number | undefined;
|
|
129
|
+
focusable?: boolean | undefined;
|
|
130
|
+
tabIndex?: 0 | -1;
|
|
131
|
+
onClick?: ((event: import("react-native").GestureResponderEvent) => unknown) | undefined;
|
|
132
|
+
}>, "pointerEvents" | "hitSlop" | "children" | "id" | "accessibilityLabel" | "accessible" | "testID" | "style" | "nativeID" | "role" | "accessibilityIgnoresInvertColors" | "accessibilityViewIsModal" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "aria-modal" | "accessibilityElementsHidden" | "accessibilityLanguage" | "accessibilityRespondsToUserInteraction" | "accessibilityHint" | "aria-label" | "accessibilityRole" | "accessibilityState" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "accessibilityActions" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "aria-hidden" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "importantForAccessibility" | "screenReaderFocusable" | "shouldRasterizeIOS" | "collapsable" | "collapsableChildren" | "needsOffscreenAlphaCompositing" | "removeClippedSubviews" | "experimental_accessibilityOrder"> & Omit<Readonly<{
|
|
133
|
+
shouldRasterizeIOS?: boolean | undefined;
|
|
134
|
+
}>, "pointerEvents" | "hitSlop" | "children" | "id" | "accessibilityLabel" | "accessible" | "testID" | "style" | "nativeID" | "role" | "accessibilityIgnoresInvertColors" | "accessibilityViewIsModal" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "aria-modal" | "accessibilityElementsHidden" | "accessibilityLanguage" | "accessibilityRespondsToUserInteraction" | "accessibilityHint" | "aria-label" | "accessibilityRole" | "accessibilityState" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "accessibilityActions" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "aria-hidden" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "importantForAccessibility" | "screenReaderFocusable" | "collapsable" | "collapsableChildren" | "needsOffscreenAlphaCompositing" | "removeClippedSubviews" | "experimental_accessibilityOrder"> & Omit<Readonly<Omit<Readonly<{
|
|
135
|
+
accessibilityLabelledBy?: (string | undefined) | (Array<string> | undefined);
|
|
136
|
+
"aria-labelledby"?: string | undefined;
|
|
137
|
+
accessibilityLiveRegion?: ("none" | "polite" | "assertive") | undefined;
|
|
138
|
+
"aria-live"?: ("polite" | "assertive" | "off") | undefined;
|
|
139
|
+
importantForAccessibility?: ("auto" | "yes" | "no" | "no-hide-descendants") | undefined;
|
|
140
|
+
screenReaderFocusable?: boolean;
|
|
141
|
+
}>, "accessibilityLabel" | "accessible" | "role" | "accessibilityIgnoresInvertColors" | "accessibilityViewIsModal" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "aria-modal" | "accessibilityElementsHidden" | "accessibilityLanguage" | "accessibilityRespondsToUserInteraction" | "accessibilityHint" | "aria-label" | "accessibilityRole" | "accessibilityState" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "accessibilityActions" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "aria-hidden"> & Omit<Readonly<{
|
|
142
|
+
accessibilityIgnoresInvertColors?: boolean | undefined;
|
|
143
|
+
accessibilityViewIsModal?: boolean | undefined;
|
|
144
|
+
accessibilityShowsLargeContentViewer?: boolean | undefined;
|
|
145
|
+
accessibilityLargeContentTitle?: string | undefined;
|
|
146
|
+
"aria-modal"?: boolean | undefined;
|
|
147
|
+
accessibilityElementsHidden?: boolean | undefined;
|
|
148
|
+
accessibilityLanguage?: string | undefined;
|
|
149
|
+
accessibilityRespondsToUserInteraction?: boolean | undefined;
|
|
150
|
+
}>, "accessibilityLabel" | "accessible" | "role" | "accessibilityHint" | "aria-label" | "accessibilityRole" | "accessibilityState" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "accessibilityActions" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "aria-hidden"> & {
|
|
151
|
+
accessible?: boolean | undefined;
|
|
152
|
+
accessibilityLabel?: string | undefined;
|
|
153
|
+
accessibilityHint?: string | undefined;
|
|
154
|
+
"aria-label"?: string | undefined;
|
|
155
|
+
accessibilityRole?: import("react-native").AccessibilityRole | undefined;
|
|
156
|
+
role?: import("react-native").Role | undefined;
|
|
157
|
+
accessibilityState?: import("react-native").AccessibilityState | undefined;
|
|
158
|
+
accessibilityValue?: import("react-native").AccessibilityValue | undefined;
|
|
159
|
+
"aria-valuemax"?: import("react-native").AccessibilityValue["max"] | undefined;
|
|
160
|
+
"aria-valuemin"?: import("react-native").AccessibilityValue["min"] | undefined;
|
|
161
|
+
"aria-valuenow"?: import("react-native").AccessibilityValue["now"] | undefined;
|
|
162
|
+
"aria-valuetext"?: import("react-native").AccessibilityValue["text"] | undefined;
|
|
163
|
+
accessibilityActions?: ReadonlyArray<import("react-native/types_generated/Libraries/Components/View/ViewAccessibility").AccessibilityActionInfo> | undefined;
|
|
164
|
+
"aria-busy"?: boolean | undefined;
|
|
165
|
+
"aria-checked"?: (boolean | undefined) | "mixed";
|
|
166
|
+
"aria-disabled"?: boolean | undefined;
|
|
167
|
+
"aria-expanded"?: boolean | undefined;
|
|
168
|
+
"aria-selected"?: boolean | undefined;
|
|
169
|
+
"aria-hidden"?: boolean | undefined;
|
|
170
|
+
}>, "pointerEvents" | "hitSlop" | "children" | "id" | "testID" | "style" | "nativeID" | "collapsable" | "collapsableChildren" | "needsOffscreenAlphaCompositing" | "removeClippedSubviews" | "experimental_accessibilityOrder"> & Omit<Readonly<{
|
|
171
|
+
children?: React.ReactNode;
|
|
172
|
+
style?: import("react-native/types_generated/Libraries/StyleSheet/StyleSheet").ViewStyleProp | undefined;
|
|
173
|
+
collapsable?: boolean | undefined;
|
|
174
|
+
collapsableChildren?: boolean | undefined;
|
|
175
|
+
id?: string;
|
|
176
|
+
testID?: string | undefined;
|
|
177
|
+
nativeID?: string | undefined;
|
|
178
|
+
needsOffscreenAlphaCompositing?: boolean | undefined;
|
|
179
|
+
hitSlop?: import("react-native/types_generated/Libraries/StyleSheet/EdgeInsetsPropType").EdgeInsetsOrSizeProp | undefined;
|
|
180
|
+
pointerEvents?: ("auto" | "box-none" | "box-only" | "none") | undefined;
|
|
181
|
+
removeClippedSubviews?: boolean | undefined;
|
|
182
|
+
experimental_accessibilityOrder?: Array<string> | undefined;
|
|
183
|
+
}>, never>>, "ref"> & {
|
|
184
|
+
ref?: React.Ref<React.ComponentRef<typeof import("react-native/types_generated/Libraries/Components/View/ViewNativeComponent").default>>;
|
|
185
|
+
}, "ref"> & {
|
|
186
|
+
asChild?: boolean;
|
|
187
|
+
} & {
|
|
188
|
+
variant?: ThemeToggleVariant;
|
|
189
|
+
showLabel?: boolean;
|
|
190
|
+
className?: string;
|
|
191
|
+
} & React.RefAttributes<import("react-native/types_generated/src/private/types/HostInstance").LegacyHostInstanceMethods>>;
|
|
192
|
+
export { ThemeToggle };
|
|
193
|
+
export type { ThemeToggleProps, ThemeToggleVariant };
|
|
194
|
+
//# sourceMappingURL=Theme-Toggle.d.ts.map
|
|
@@ -1,11 +1,55 @@
|
|
|
1
|
+
import { Text } from './Text';
|
|
2
|
+
import type { LucideIcon } from 'lucide-react-native';
|
|
1
3
|
import * as React from 'react';
|
|
2
|
-
import { ViewProps } from 'react-native';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
4
|
+
import { View, type ViewProps } from 'react-native';
|
|
5
|
+
/**
|
|
6
|
+
* Toast notification component
|
|
7
|
+
*
|
|
8
|
+
* Displays temporary messages or notifications with optional icons.
|
|
9
|
+
* Supports default and destructive variants for different message types.
|
|
10
|
+
*
|
|
11
|
+
* @component
|
|
12
|
+
* @example
|
|
13
|
+
* ```tsx
|
|
14
|
+
* <Toast icon={CheckCircle}>
|
|
15
|
+
* <ToastTitle>
|
|
16
|
+
* <Text>Success</Text>
|
|
17
|
+
* </ToastTitle>
|
|
18
|
+
* <ToastDescription>
|
|
19
|
+
* <Text>Your changes have been saved</Text>
|
|
20
|
+
* </ToastDescription>
|
|
21
|
+
* </Toast>
|
|
22
|
+
*
|
|
23
|
+
* <Toast variant="destructive" icon={AlertCircle}>
|
|
24
|
+
* <ToastTitle>
|
|
25
|
+
* <Text>Error</Text>
|
|
26
|
+
* </ToastTitle>
|
|
27
|
+
* <ToastDescription>
|
|
28
|
+
* <Text>Failed to save changes</Text>
|
|
29
|
+
* </ToastDescription>
|
|
30
|
+
* </Toast>
|
|
31
|
+
* ```
|
|
32
|
+
*
|
|
33
|
+
* @accessibility
|
|
34
|
+
* - Announces messages to screen readers
|
|
35
|
+
* - Proper role for notifications
|
|
36
|
+
*/
|
|
37
|
+
declare function Toast({ className, variant, children, icon, iconClassName, ...props }: ViewProps & React.RefAttributes<View> & {
|
|
38
|
+
icon?: LucideIcon;
|
|
39
|
+
variant?: 'default' | 'destructive';
|
|
40
|
+
iconClassName?: string;
|
|
41
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
42
|
+
/**
|
|
43
|
+
* Toast title component
|
|
44
|
+
*
|
|
45
|
+
* @component
|
|
46
|
+
*/
|
|
47
|
+
declare function ToastTitle({ className, ...props }: React.ComponentProps<typeof Text> & React.RefAttributes<Text>): import("react/jsx-runtime").JSX.Element;
|
|
48
|
+
/**
|
|
49
|
+
* Toast description component
|
|
50
|
+
*
|
|
51
|
+
* @component
|
|
52
|
+
*/
|
|
53
|
+
declare function ToastDescription({ className, ...props }: React.ComponentProps<typeof Text> & React.RefAttributes<Text>): import("react/jsx-runtime").JSX.Element;
|
|
54
|
+
export { Toast, ToastDescription, ToastTitle };
|
|
55
|
+
//# sourceMappingURL=Toast.d.ts.map
|
|
@@ -1,11 +1,49 @@
|
|
|
1
|
+
import { Icon } from './Icon';
|
|
2
|
+
import { toggleVariants } from './Toggle';
|
|
3
|
+
import * as ToggleGroupPrimitive from '@rn-primitives/toggle-group';
|
|
4
|
+
import type { VariantProps } from 'class-variance-authority';
|
|
1
5
|
import * as React from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Toggle group component for grouping related toggle buttons
|
|
8
|
+
*
|
|
9
|
+
* Allows single or multiple selection among a set of toggle buttons.
|
|
10
|
+
* Supports both outline and default variants.
|
|
11
|
+
*
|
|
12
|
+
* @component
|
|
13
|
+
* @example
|
|
14
|
+
* ```tsx
|
|
15
|
+
* <ToggleGroup type="single" value={alignment} onValueChange={setAlignment}>
|
|
16
|
+
* <ToggleGroupItem value="left" isFirst>
|
|
17
|
+
* <ToggleGroupIcon as={AlignLeft} />
|
|
18
|
+
* </ToggleGroupItem>
|
|
19
|
+
* <ToggleGroupItem value="center">
|
|
20
|
+
* <ToggleGroupIcon as={AlignCenter} />
|
|
21
|
+
* </ToggleGroupItem>
|
|
22
|
+
* <ToggleGroupItem value="right" isLast>
|
|
23
|
+
* <ToggleGroupIcon as={AlignRight} />
|
|
24
|
+
* </ToggleGroupItem>
|
|
25
|
+
* </ToggleGroup>
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* @accessibility
|
|
29
|
+
* - Uses proper ARIA attributes for grouped toggles
|
|
30
|
+
* - Keyboard navigation support
|
|
31
|
+
*/
|
|
32
|
+
declare function ToggleGroup({ className, variant, size, children, ...props }: ToggleGroupPrimitive.RootProps & VariantProps<typeof toggleVariants> & React.RefAttributes<ToggleGroupPrimitive.RootRef>): import("react/jsx-runtime").JSX.Element;
|
|
33
|
+
/**
|
|
34
|
+
* Individual toggle item within a toggle group
|
|
35
|
+
*
|
|
36
|
+
* @component
|
|
37
|
+
*/
|
|
38
|
+
declare function ToggleGroupItem({ className, children, variant, size, isFirst, isLast, ...props }: ToggleGroupPrimitive.ItemProps & VariantProps<typeof toggleVariants> & React.RefAttributes<ToggleGroupPrimitive.ItemRef> & {
|
|
39
|
+
isFirst?: boolean;
|
|
40
|
+
isLast?: boolean;
|
|
41
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
42
|
+
/**
|
|
43
|
+
* Icon component for use within toggle group items
|
|
44
|
+
*
|
|
45
|
+
* @component
|
|
46
|
+
*/
|
|
47
|
+
declare function ToggleGroupIcon({ className, ...props }: React.ComponentProps<typeof Icon>): import("react/jsx-runtime").JSX.Element;
|
|
48
|
+
export { ToggleGroup, ToggleGroupIcon, ToggleGroupItem };
|
|
49
|
+
//# sourceMappingURL=Toggle-Group.d.ts.map
|