@campxdev/react-native-blueprint 0.1.1 → 0.1.3
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/lib/module/app/_layout.js +1 -1
- package/lib/module/app/_layout.js.map +1 -1
- package/lib/module/components/ui/index.js +1 -0
- package/lib/module/components/ui/index.js.map +1 -1
- package/lib/module/global.css +417 -0
- 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 +2 -9
- package/src/app/_layout.tsx +1 -1
- package/src/components/ui/index.ts +1 -0
- package/src/global.css +417 -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,68 @@
|
|
|
1
|
+
import * as HoverCardPrimitive from '@rn-primitives/hover-card';
|
|
1
2
|
import * as React from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
3
|
+
/**
|
|
4
|
+
* Root component for hover card - provides context for trigger and content
|
|
5
|
+
*
|
|
6
|
+
* @component
|
|
7
|
+
* @example
|
|
8
|
+
* ```tsx
|
|
9
|
+
* <HoverCard>
|
|
10
|
+
* <HoverCardTrigger>
|
|
11
|
+
* <Text>Hover over me</Text>
|
|
12
|
+
* </HoverCardTrigger>
|
|
13
|
+
* <HoverCardContent>
|
|
14
|
+
* <Text>Additional information appears here</Text>
|
|
15
|
+
* </HoverCardContent>
|
|
16
|
+
* </HoverCard>
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
declare const HoverCard: React.ForwardRefExoticComponent<import("react-native").ViewProps & {
|
|
20
|
+
asChild?: boolean;
|
|
21
|
+
} & {
|
|
22
|
+
onOpenChange?: (open: boolean) => void;
|
|
23
|
+
openDelay?: number;
|
|
24
|
+
closeDelay?: number;
|
|
25
|
+
} & React.RefAttributes<(props: Omit<import("react-native/types_generated/Libraries/Components/View/ViewPropTypes").ViewProps, keyof {
|
|
26
|
+
ref?: React.Ref<React.ComponentRef<typeof import("react-native/types_generated/Libraries/Components/View/ViewNativeComponent").default>>;
|
|
27
|
+
}> & {
|
|
28
|
+
ref?: React.Ref<React.ComponentRef<typeof import("react-native/types_generated/Libraries/Components/View/ViewNativeComponent").default>>;
|
|
29
|
+
}) => React.ReactNode>>;
|
|
30
|
+
/**
|
|
31
|
+
* Trigger component that shows hover card content on hover/press
|
|
32
|
+
*
|
|
33
|
+
* @component
|
|
34
|
+
*/
|
|
35
|
+
declare const HoverCardTrigger: React.ForwardRefExoticComponent<Omit<import("react-native").PressableProps & React.RefAttributes<(props: Omit<import("react-native/types_generated/Libraries/Components/View/ViewPropTypes").ViewProps, keyof {
|
|
36
|
+
ref?: React.Ref<React.ComponentRef<typeof import("react-native/types_generated/Libraries/Components/View/ViewNativeComponent").default>>;
|
|
37
|
+
}> & {
|
|
38
|
+
ref?: React.Ref<React.ComponentRef<typeof import("react-native/types_generated/Libraries/Components/View/ViewNativeComponent").default>>;
|
|
39
|
+
}) => React.ReactNode>, "ref"> & {
|
|
40
|
+
asChild?: boolean;
|
|
41
|
+
} & {
|
|
42
|
+
onKeyDown?: (ev: React.KeyboardEvent) => void;
|
|
43
|
+
onKeyUp?: (ev: React.KeyboardEvent) => void;
|
|
44
|
+
} & React.RefAttributes<import("@rn-primitives/hover-card").TriggerRef>>;
|
|
45
|
+
/**
|
|
46
|
+
* Content container for hover card
|
|
47
|
+
*
|
|
48
|
+
* Displays rich content in a popover when hovering over or pressing the trigger.
|
|
49
|
+
* Includes smooth fade animations and proper positioning.
|
|
50
|
+
*
|
|
51
|
+
* @component
|
|
52
|
+
* @example
|
|
53
|
+
* ```tsx
|
|
54
|
+
* <HoverCardContent align="center" sideOffset={8}>
|
|
55
|
+
* <View className="gap-2">
|
|
56
|
+
* <Text className="font-semibold">User Profile</Text>
|
|
57
|
+
* <Text className="text-sm">Additional details about the user</Text>
|
|
58
|
+
* </View>
|
|
59
|
+
* </HoverCardContent>
|
|
60
|
+
* ```
|
|
61
|
+
*
|
|
62
|
+
* @accessibility
|
|
63
|
+
* - Content is announced by screen readers
|
|
64
|
+
* - Proper focus management on web
|
|
65
|
+
*/
|
|
66
|
+
declare function HoverCardContent({ className, align, sideOffset, ...props }: HoverCardPrimitive.ContentProps & React.RefAttributes<HoverCardPrimitive.ContentRef>): import("react/jsx-runtime").JSX.Element;
|
|
67
|
+
export { HoverCard, HoverCardContent, HoverCardTrigger };
|
|
68
|
+
//# sourceMappingURL=Hover-Card.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Hover-Card.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/Hover-Card.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,kBAAkB,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B;;;;;;;;;;;;;;;GAeG;AACH,QAAA,MAAM,SAAS;;;;;;;OAAoB,CAAC;;OAGyB,CAAC;uBAHrB,CAAC;AAE1C;;;;GAIG;AACH,QAAA,MAAM,gBAAgB
|
|
1
|
+
{"version":3,"file":"Hover-Card.d.ts","sourceRoot":"","sources":["../../../../../src/components/ui/Hover-Card.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,kBAAkB,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B;;;;;;;;;;;;;;;GAeG;AACH,QAAA,MAAM,SAAS;;;;;;;OAAoB,CAAC;;OAGyB,CAAC;uBAHrB,CAAC;AAE1C;;;;GAIG;AACH,QAAA,MAAM,gBAAgB;OAPa,CAAC;;OAGyB,CAAC;;;;;;wEAIX,CAAC;AAQpD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,iBAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,KAAgB,EAChB,UAAc,EACd,GAAG,KAAK,EACT,EAAE,kBAAkB,CAAC,YAAY,GAChC,KAAK,CAAC,aAAa,CAAC,kBAAkB,CAAC,UAAU,CAAC,2CA+BnD;AAED,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,CAAC"}
|
|
@@ -1,11 +1,43 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
1
|
+
import type { LucideIcon, LucideProps } from 'lucide-react-native';
|
|
2
|
+
/**
|
|
3
|
+
* Props for Icon component
|
|
4
|
+
*
|
|
5
|
+
* @extends LucideProps - All Lucide icon properties (size, color, strokeWidth, etc.)
|
|
6
|
+
* @property {LucideIcon} as - The Lucide icon component to render
|
|
7
|
+
* @property {string} [className] - Tailwind classes for styling (supports NativeWind)
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```tsx
|
|
11
|
+
* import { Home } from 'lucide-react-native';
|
|
12
|
+
* <Icon as={Home} size={24} className="text-primary" />
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
type IconProps = LucideProps & {
|
|
16
|
+
as: LucideIcon;
|
|
17
|
+
className?: string;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Universal icon wrapper for Lucide icons
|
|
21
|
+
*
|
|
22
|
+
* Provides consistent styling and sizing for Lucide React Native icons across the application.
|
|
23
|
+
* Automatically handles platform-specific sizing and color theming.
|
|
24
|
+
*
|
|
25
|
+
* @component
|
|
26
|
+
* @example
|
|
27
|
+
* ```tsx
|
|
28
|
+
* import { Settings, User, ChevronRight } from 'lucide-react-native';
|
|
29
|
+
*
|
|
30
|
+
* // Basic icon
|
|
31
|
+
* <Icon as={Settings} />
|
|
32
|
+
*
|
|
33
|
+
* // Sized icon with custom color
|
|
34
|
+
* <Icon as={User} size={32} className="text-primary" />
|
|
35
|
+
*
|
|
36
|
+
* // Icon with stroke width
|
|
37
|
+
* <Icon as={ChevronRight} size={20} strokeWidth={2.5} />
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
declare function Icon({ as: IconComponent, className, size, ...props }: IconProps): import("react/jsx-runtime").JSX.Element;
|
|
41
|
+
export { Icon };
|
|
42
|
+
export type { IconProps };
|
|
43
|
+
//# sourceMappingURL=Icon.d.ts.map
|
|
@@ -1,11 +1,52 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import { TextInput, type TextInputProps } from 'react-native';
|
|
2
|
+
/**
|
|
3
|
+
* Props for Input component
|
|
4
|
+
*
|
|
5
|
+
* @extends TextInputProps - All standard React Native TextInput props
|
|
6
|
+
* @property {string} [className] - Additional Tailwind classes for custom styling
|
|
7
|
+
* @property {boolean} [editable=true] - Whether the input is editable (disabled when false)
|
|
8
|
+
*/
|
|
9
|
+
interface InputProps extends TextInputProps {
|
|
10
|
+
className?: string;
|
|
8
11
|
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
+
/**
|
|
13
|
+
* A styled text input component with consistent design across platforms
|
|
14
|
+
*
|
|
15
|
+
* Features platform-specific behaviors:
|
|
16
|
+
* - Web: Focus ring, selection styling, aria-invalid support
|
|
17
|
+
* - Native: Optimized placeholder opacity and input styling
|
|
18
|
+
*
|
|
19
|
+
* Automatically adapts styling when disabled/non-editable.
|
|
20
|
+
*
|
|
21
|
+
* @component
|
|
22
|
+
* @example
|
|
23
|
+
* ```tsx
|
|
24
|
+
* // Basic input
|
|
25
|
+
* <Input
|
|
26
|
+
* placeholder="Enter your name"
|
|
27
|
+
* value={name}
|
|
28
|
+
* onChangeText={setName}
|
|
29
|
+
* />
|
|
30
|
+
*
|
|
31
|
+
* // Disabled input
|
|
32
|
+
* <Input
|
|
33
|
+
* value="Read only"
|
|
34
|
+
* editable={false}
|
|
35
|
+
* />
|
|
36
|
+
*
|
|
37
|
+
* // With custom styling
|
|
38
|
+
* <Input
|
|
39
|
+
* className="border-primary"
|
|
40
|
+
* placeholder="Search..."
|
|
41
|
+
* />
|
|
42
|
+
* ```
|
|
43
|
+
*
|
|
44
|
+
* @accessibility
|
|
45
|
+
* - Supports aria-invalid for form validation states (web)
|
|
46
|
+
* - Placeholder text uses appropriate contrast colors
|
|
47
|
+
* - Disabled state is visually indicated with opacity
|
|
48
|
+
*/
|
|
49
|
+
declare function Input({ className, editable, ...props }: InputProps & React.RefAttributes<TextInput>): import("react/jsx-runtime").JSX.Element;
|
|
50
|
+
export { Input };
|
|
51
|
+
export type { InputProps };
|
|
52
|
+
//# sourceMappingURL=Input.d.ts.map
|
|
@@ -1,11 +1,105 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Accessible label component for form controls
|
|
4
|
+
*
|
|
5
|
+
* Provides semantic labeling for form inputs with proper styling and accessibility support.
|
|
6
|
+
* Automatically associates with form controls and respects disabled states.
|
|
7
|
+
*
|
|
8
|
+
* @component
|
|
9
|
+
* @example
|
|
10
|
+
* ```tsx
|
|
11
|
+
* // Label with input
|
|
12
|
+
* <View className="gap-2">
|
|
13
|
+
* <Label htmlFor="email">Email Address</Label>
|
|
14
|
+
* <Input id="email" placeholder="Enter email" />
|
|
15
|
+
* </View>
|
|
16
|
+
*
|
|
17
|
+
* // Label for checkbox
|
|
18
|
+
* <View className="flex-row items-center gap-2">
|
|
19
|
+
* <Checkbox id="terms" />
|
|
20
|
+
* <Label htmlFor="terms">I agree to the terms and conditions</Label>
|
|
21
|
+
* </View>
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* @accessibility
|
|
25
|
+
* - Properly associates with form controls via htmlFor/id
|
|
26
|
+
* - Reduced opacity when associated control is disabled
|
|
27
|
+
* - Screen reader compatible
|
|
28
|
+
*/
|
|
29
|
+
declare const Label: React.ForwardRefExoticComponent<Omit<Omit<Readonly<Omit<Readonly<{
|
|
30
|
+
onPointerEnter?: (event: import("react-native").PointerEvent) => void;
|
|
31
|
+
onPointerLeave?: (event: import("react-native").PointerEvent) => void;
|
|
32
|
+
onPointerMove?: (event: import("react-native").PointerEvent) => void;
|
|
33
|
+
}>, "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<{
|
|
34
|
+
onAccessibilityAction?: ((event: import("react-native").AccessibilityActionEvent) => unknown) | undefined;
|
|
35
|
+
allowFontScaling?: boolean | undefined;
|
|
36
|
+
android_hyphenationFrequency?: ("normal" | "none" | "full") | undefined;
|
|
37
|
+
children?: React.ReactNode | undefined;
|
|
38
|
+
ellipsizeMode?: ("clip" | "head" | "middle" | "tail") | undefined;
|
|
39
|
+
id?: string;
|
|
40
|
+
maxFontSizeMultiplier?: number | undefined;
|
|
41
|
+
nativeID?: string | undefined;
|
|
42
|
+
numberOfLines?: number | undefined;
|
|
43
|
+
onLayout?: ((event: import("react-native").LayoutChangeEvent) => unknown) | undefined;
|
|
44
|
+
onLongPress?: ((event: import("react-native").GestureResponderEvent) => unknown) | undefined;
|
|
45
|
+
onPress?: ((event: import("react-native").GestureResponderEvent) => unknown) | undefined;
|
|
46
|
+
onPressIn?: ((event: import("react-native").GestureResponderEvent) => unknown) | undefined;
|
|
47
|
+
onPressOut?: ((event: import("react-native").GestureResponderEvent) => unknown) | undefined;
|
|
48
|
+
onResponderGrant?: ((event: import("react-native").GestureResponderEvent) => void) | undefined;
|
|
49
|
+
onResponderMove?: ((event: import("react-native").GestureResponderEvent) => void) | undefined;
|
|
50
|
+
onResponderRelease?: ((event: import("react-native").GestureResponderEvent) => void) | undefined;
|
|
51
|
+
onResponderTerminate?: ((event: import("react-native").GestureResponderEvent) => void) | undefined;
|
|
52
|
+
onResponderTerminationRequest?: (() => boolean) | undefined;
|
|
53
|
+
onStartShouldSetResponder?: (() => boolean) | undefined;
|
|
54
|
+
onMoveShouldSetResponder?: (() => boolean) | undefined;
|
|
55
|
+
onTextLayout?: ((event: import("react-native").TextLayoutEvent) => unknown) | undefined;
|
|
56
|
+
pressRetentionOffset?: import("react-native/types_generated/Libraries/Text/TextProps").PressRetentionOffset | undefined;
|
|
57
|
+
role?: import("react-native").Role | undefined;
|
|
58
|
+
selectable?: boolean | undefined;
|
|
59
|
+
style?: import("react-native/types_generated/Libraries/StyleSheet/StyleSheet").TextStyleProp | undefined;
|
|
60
|
+
testID?: string | undefined;
|
|
61
|
+
}>, "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<{
|
|
62
|
+
accessibilityLabelledBy?: (string | undefined) | (Array<string> | undefined);
|
|
63
|
+
"aria-labelledby"?: string | undefined;
|
|
64
|
+
accessibilityLiveRegion?: ("none" | "polite" | "assertive") | undefined;
|
|
65
|
+
"aria-live"?: ("polite" | "assertive" | "off") | undefined;
|
|
66
|
+
importantForAccessibility?: ("auto" | "yes" | "no" | "no-hide-descendants") | undefined;
|
|
67
|
+
screenReaderFocusable?: boolean;
|
|
68
|
+
}>, "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<{
|
|
69
|
+
accessibilityIgnoresInvertColors?: boolean | undefined;
|
|
70
|
+
accessibilityViewIsModal?: boolean | undefined;
|
|
71
|
+
accessibilityShowsLargeContentViewer?: boolean | undefined;
|
|
72
|
+
accessibilityLargeContentTitle?: string | undefined;
|
|
73
|
+
"aria-modal"?: boolean | undefined;
|
|
74
|
+
accessibilityElementsHidden?: boolean | undefined;
|
|
75
|
+
accessibilityLanguage?: string | undefined;
|
|
76
|
+
accessibilityRespondsToUserInteraction?: boolean | undefined;
|
|
77
|
+
}>, "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"> & {
|
|
78
|
+
accessible?: boolean | undefined;
|
|
79
|
+
accessibilityLabel?: string | undefined;
|
|
80
|
+
accessibilityHint?: string | undefined;
|
|
81
|
+
"aria-label"?: string | undefined;
|
|
82
|
+
accessibilityRole?: import("react-native").AccessibilityRole | undefined;
|
|
83
|
+
role?: import("react-native").Role | undefined;
|
|
84
|
+
accessibilityState?: import("react-native").AccessibilityState | undefined;
|
|
85
|
+
accessibilityValue?: import("react-native").AccessibilityValue | undefined;
|
|
86
|
+
"aria-valuemax"?: import("react-native").AccessibilityValue["max"] | undefined;
|
|
87
|
+
"aria-valuemin"?: import("react-native").AccessibilityValue["min"] | undefined;
|
|
88
|
+
"aria-valuenow"?: import("react-native").AccessibilityValue["now"] | undefined;
|
|
89
|
+
"aria-valuetext"?: import("react-native").AccessibilityValue["text"] | undefined;
|
|
90
|
+
accessibilityActions?: ReadonlyArray<import("react-native/types_generated/Libraries/Components/View/ViewAccessibility").AccessibilityActionInfo> | undefined;
|
|
91
|
+
"aria-busy"?: boolean | undefined;
|
|
92
|
+
"aria-checked"?: (boolean | undefined) | "mixed";
|
|
93
|
+
"aria-disabled"?: boolean | undefined;
|
|
94
|
+
"aria-expanded"?: boolean | undefined;
|
|
95
|
+
"aria-selected"?: boolean | undefined;
|
|
96
|
+
"aria-hidden"?: boolean | undefined;
|
|
97
|
+
}>, never>>, "ref"> & {
|
|
98
|
+
ref?: React.Ref<import("react-native/types_generated/src/private/types/HostInstance").LegacyHostInstanceMethods>;
|
|
99
|
+
}, "ref"> & {
|
|
100
|
+
asChild?: boolean;
|
|
101
|
+
} & {
|
|
102
|
+
className?: string;
|
|
103
|
+
} & React.RefAttributes<import("react-native/types_generated/src/private/types/HostInstance").LegacyHostInstanceMethods>>;
|
|
104
|
+
export { Label };
|
|
105
|
+
//# sourceMappingURL=Label.d.ts.map
|
|
@@ -1,11 +1,175 @@
|
|
|
1
|
+
import * as MenubarPrimitive from '@rn-primitives/menubar';
|
|
1
2
|
import * as React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
3
|
+
import { type StyleProp, Text, type TextProps, type ViewStyle } from 'react-native';
|
|
4
|
+
/**
|
|
5
|
+
* Individual menu within the menubar
|
|
6
|
+
*
|
|
7
|
+
* @component
|
|
8
|
+
*/
|
|
9
|
+
declare const MenubarMenu: React.ForwardRefExoticComponent<import("react-native").ViewProps & {
|
|
10
|
+
asChild?: boolean;
|
|
11
|
+
} & {
|
|
12
|
+
value: string | undefined;
|
|
13
|
+
} & React.RefAttributes<(props: Omit<import("react-native/types_generated/Libraries/Components/View/ViewPropTypes").ViewProps, keyof {
|
|
14
|
+
ref?: React.Ref<React.ComponentRef<typeof import("react-native/types_generated/Libraries/Components/View/ViewNativeComponent").default>>;
|
|
15
|
+
}> & {
|
|
16
|
+
ref?: React.Ref<React.ComponentRef<typeof import("react-native/types_generated/Libraries/Components/View/ViewNativeComponent").default>>;
|
|
17
|
+
}) => React.ReactNode>>;
|
|
18
|
+
/**
|
|
19
|
+
* Groups related menu items together
|
|
20
|
+
*
|
|
21
|
+
* @component
|
|
22
|
+
*/
|
|
23
|
+
declare const MenubarGroup: React.ForwardRefExoticComponent<import("react-native").ViewProps & {
|
|
24
|
+
asChild?: boolean;
|
|
25
|
+
} & React.RefAttributes<(props: Omit<import("react-native/types_generated/Libraries/Components/View/ViewPropTypes").ViewProps, keyof {
|
|
26
|
+
ref?: React.Ref<React.ComponentRef<typeof import("react-native/types_generated/Libraries/Components/View/ViewNativeComponent").default>>;
|
|
27
|
+
}> & {
|
|
28
|
+
ref?: React.Ref<React.ComponentRef<typeof import("react-native/types_generated/Libraries/Components/View/ViewNativeComponent").default>>;
|
|
29
|
+
}) => React.ReactNode>>;
|
|
30
|
+
/**
|
|
31
|
+
* Portal component to render menu content outside the DOM hierarchy
|
|
32
|
+
*
|
|
33
|
+
* @component
|
|
34
|
+
*/
|
|
35
|
+
declare const MenubarPortal: typeof MenubarPrimitive.Portal;
|
|
36
|
+
/**
|
|
37
|
+
* Root component for nested submenu
|
|
38
|
+
*
|
|
39
|
+
* @component
|
|
40
|
+
*/
|
|
41
|
+
declare const MenubarSub: React.ForwardRefExoticComponent<import("react-native").ViewProps & {
|
|
42
|
+
asChild?: boolean;
|
|
43
|
+
} & {
|
|
44
|
+
defaultOpen?: boolean;
|
|
45
|
+
open?: boolean;
|
|
46
|
+
onOpenChange?: (value: boolean) => void;
|
|
47
|
+
} & React.RefAttributes<(props: Omit<import("react-native/types_generated/Libraries/Components/View/ViewPropTypes").ViewProps, keyof {
|
|
48
|
+
ref?: React.Ref<React.ComponentRef<typeof import("react-native/types_generated/Libraries/Components/View/ViewNativeComponent").default>>;
|
|
49
|
+
}> & {
|
|
50
|
+
ref?: React.Ref<React.ComponentRef<typeof import("react-native/types_generated/Libraries/Components/View/ViewNativeComponent").default>>;
|
|
51
|
+
}) => React.ReactNode>>;
|
|
52
|
+
/**
|
|
53
|
+
* Groups radio items together with single selection
|
|
54
|
+
*
|
|
55
|
+
* @component
|
|
56
|
+
*/
|
|
57
|
+
declare const MenubarRadioGroup: React.ForwardRefExoticComponent<import("react-native").ViewProps & {
|
|
58
|
+
asChild?: boolean;
|
|
59
|
+
} & {
|
|
60
|
+
value: string | undefined;
|
|
61
|
+
onValueChange: (value: string) => void;
|
|
62
|
+
} & React.RefAttributes<(props: Omit<import("react-native/types_generated/Libraries/Components/View/ViewPropTypes").ViewProps, keyof {
|
|
63
|
+
ref?: React.Ref<React.ComponentRef<typeof import("react-native/types_generated/Libraries/Components/View/ViewNativeComponent").default>>;
|
|
64
|
+
}> & {
|
|
65
|
+
ref?: React.Ref<React.ComponentRef<typeof import("react-native/types_generated/Libraries/Components/View/ViewNativeComponent").default>>;
|
|
66
|
+
}) => React.ReactNode>>;
|
|
67
|
+
/**
|
|
68
|
+
* Root menubar component for application-level menu navigation
|
|
69
|
+
*
|
|
70
|
+
* Provides horizontal menu bar similar to desktop applications, with support
|
|
71
|
+
* for nested menus and automatic close on outside press.
|
|
72
|
+
*
|
|
73
|
+
* @component
|
|
74
|
+
* @example
|
|
75
|
+
* ```tsx
|
|
76
|
+
* <Menubar>
|
|
77
|
+
* <MenubarMenu>
|
|
78
|
+
* <MenubarTrigger>
|
|
79
|
+
* <Text>File</Text>
|
|
80
|
+
* </MenubarTrigger>
|
|
81
|
+
* <MenubarContent>
|
|
82
|
+
* <MenubarItem>
|
|
83
|
+
* <Text>New File</Text>
|
|
84
|
+
* </MenubarItem>
|
|
85
|
+
* <MenubarItem>
|
|
86
|
+
* <Text>Open</Text>
|
|
87
|
+
* </MenubarItem>
|
|
88
|
+
* </MenubarContent>
|
|
89
|
+
* </MenubarMenu>
|
|
90
|
+
* </Menubar>
|
|
91
|
+
* ```
|
|
92
|
+
*
|
|
93
|
+
* @accessibility
|
|
94
|
+
* - Keyboard navigation support
|
|
95
|
+
* - Proper ARIA attributes for menu structure
|
|
96
|
+
*/
|
|
97
|
+
declare function Menubar({ className, value: valueProp, onValueChange: onValueChangeProp, ...props }: MenubarPrimitive.RootProps & React.RefAttributes<MenubarPrimitive.RootRef>): import("react/jsx-runtime").JSX.Element;
|
|
98
|
+
/**
|
|
99
|
+
* Trigger button for a menubar menu
|
|
100
|
+
*
|
|
101
|
+
* @component
|
|
102
|
+
* @example
|
|
103
|
+
* ```tsx
|
|
104
|
+
* <MenubarTrigger>
|
|
105
|
+
* <Text>Edit</Text>
|
|
106
|
+
* </MenubarTrigger>
|
|
107
|
+
* ```
|
|
108
|
+
*/
|
|
109
|
+
declare function MenubarTrigger({ className, ...props }: MenubarPrimitive.TriggerProps & React.RefAttributes<MenubarPrimitive.TriggerRef>): import("react/jsx-runtime").JSX.Element;
|
|
110
|
+
/**
|
|
111
|
+
* Trigger for opening a nested submenu
|
|
112
|
+
* @component
|
|
113
|
+
*/
|
|
114
|
+
declare function MenubarSubTrigger({ className: _className, inset, children, iconClassName, ...props }: MenubarPrimitive.SubTriggerProps & React.RefAttributes<MenubarPrimitive.SubTriggerRef> & {
|
|
115
|
+
children?: React.ReactNode;
|
|
116
|
+
iconClassName?: string;
|
|
117
|
+
inset?: boolean;
|
|
118
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
119
|
+
/**
|
|
120
|
+
* Content container for nested submenu items
|
|
121
|
+
* @component
|
|
122
|
+
*/
|
|
123
|
+
declare function MenubarSubContent({ className, ...props }: MenubarPrimitive.SubContentProps & React.RefAttributes<MenubarPrimitive.SubContentRef>): import("react/jsx-runtime").JSX.Element;
|
|
124
|
+
/**
|
|
125
|
+
* Main content container for menu items
|
|
126
|
+
* @component
|
|
127
|
+
*/
|
|
128
|
+
declare function MenubarContent({ className, overlayClassName: _overlayClassName, overlayStyle: _overlayStyle, portalHost, align, alignOffset, sideOffset, ...props }: MenubarPrimitive.ContentProps & React.RefAttributes<MenubarPrimitive.ContentRef> & {
|
|
129
|
+
overlayStyle?: StyleProp<ViewStyle>;
|
|
130
|
+
overlayClassName?: string;
|
|
131
|
+
portalHost?: string;
|
|
132
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
133
|
+
/**
|
|
134
|
+
* Individual menu item component
|
|
135
|
+
* @component
|
|
136
|
+
*/
|
|
137
|
+
declare function MenubarItem({ className, inset, variant, ...props }: MenubarPrimitive.ItemProps & React.RefAttributes<MenubarPrimitive.ItemRef> & {
|
|
138
|
+
className?: string;
|
|
139
|
+
inset?: boolean;
|
|
140
|
+
variant?: 'default' | 'destructive';
|
|
141
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
142
|
+
/**
|
|
143
|
+
* Menu item with checkbox for multi-selection
|
|
144
|
+
* @component
|
|
145
|
+
*/
|
|
146
|
+
declare function MenubarCheckboxItem({ className, children, ...props }: MenubarPrimitive.CheckboxItemProps & React.RefAttributes<MenubarPrimitive.CheckboxItemRef> & {
|
|
147
|
+
children?: React.ReactNode;
|
|
148
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
149
|
+
/**
|
|
150
|
+
* Menu item with radio button for single selection within a group
|
|
151
|
+
* @component
|
|
152
|
+
*/
|
|
153
|
+
declare function MenubarRadioItem({ className, children, ...props }: MenubarPrimitive.RadioItemProps & React.RefAttributes<MenubarPrimitive.RadioItemRef> & {
|
|
154
|
+
children?: React.ReactNode;
|
|
155
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
156
|
+
/**
|
|
157
|
+
* Label component for grouping and describing menu sections
|
|
158
|
+
* @component
|
|
159
|
+
*/
|
|
160
|
+
declare function MenubarLabel({ className, inset, ...props }: MenubarPrimitive.LabelProps & React.RefAttributes<MenubarPrimitive.LabelRef> & {
|
|
161
|
+
className?: string;
|
|
162
|
+
inset?: boolean;
|
|
163
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
164
|
+
/**
|
|
165
|
+
* Visual separator between menu items or sections
|
|
166
|
+
* @component
|
|
167
|
+
*/
|
|
168
|
+
declare function MenubarSeparator({ className, ...props }: MenubarPrimitive.SeparatorProps & React.RefAttributes<MenubarPrimitive.SeparatorRef>): import("react/jsx-runtime").JSX.Element;
|
|
169
|
+
/**
|
|
170
|
+
* Displays keyboard shortcut hint for menu items
|
|
171
|
+
* @component
|
|
172
|
+
*/
|
|
173
|
+
declare function MenubarShortcut({ className, ...props }: TextProps & React.RefAttributes<Text>): import("react/jsx-runtime").JSX.Element;
|
|
174
|
+
export { Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, };
|
|
175
|
+
//# sourceMappingURL=Menubar.d.ts.map
|