@xaui/native 0.9.1-alpha.42 → 0.9.1-alpha.44

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,202 @@
1
+ import * as react from 'react';
2
+ import { ReactNode } from 'react';
3
+ import * as react_native from 'react-native';
4
+ import { StyleProp, ViewStyle, TextStyle, ViewProps, TextProps, PressableProps, View, Text } from 'react-native';
5
+ import { V as ViewStyleProps, T as TextStyleProps } from '../../style-props.type-CfnoGEP7.cjs';
6
+ import { R as RadiusKey } from '../../theme.type-C2gNHpEx.cjs';
7
+ import { C as CloseButtonProps } from '../../close-button.type-CHsgZ3wO.cjs';
8
+ import { R as Recipe, a as StyleFn } from '../../create-recipe-dC7wMfnj.cjs';
9
+ import '../../pressable-feedback.type-BA2C9sSz.cjs';
10
+ import 'react-native-reanimated';
11
+
12
+ type DialogSlot = 'overlay' | 'panel' | 'content' | 'title' | 'description' | 'close' | 'closeGlyph';
13
+ type DialogOwnProps = {
14
+ children?: ReactNode;
15
+ radius?: RadiusKey;
16
+ isOpen?: boolean;
17
+ defaultOpen?: boolean;
18
+ onOpenChange?: (isOpen: boolean) => void;
19
+ isDisabled?: boolean;
20
+ };
21
+ /** The root renders **no node** — `ref` and `style` live on the parts that draw. */
22
+ type DialogProps = DialogOwnProps;
23
+ type DialogTriggerOwnProps = {
24
+ children?: ReactNode;
25
+ asChild?: boolean;
26
+ };
27
+ type DialogTriggerProps = DialogTriggerOwnProps & Omit<PressableProps, keyof DialogTriggerOwnProps> & Omit<ViewStyleProps, keyof DialogTriggerOwnProps | keyof PressableProps>;
28
+ type DialogOverlayOwnProps = {
29
+ children?: ReactNode;
30
+ /** Pressing the backdrop closes the dialog. Off for one that must be answered. */
31
+ isDismissable?: boolean;
32
+ };
33
+ type DialogOverlayProps = DialogOverlayOwnProps & Omit<ViewProps, keyof DialogOverlayOwnProps> & Omit<ViewStyleProps, keyof DialogOverlayOwnProps | keyof ViewProps>;
34
+ type DialogContentOwnProps = {
35
+ children?: ReactNode;
36
+ };
37
+ type DialogContentProps = DialogContentOwnProps & Omit<ViewProps, keyof DialogContentOwnProps> & Omit<ViewStyleProps, keyof DialogContentOwnProps | keyof ViewProps>;
38
+ type DialogTextOwnProps = {
39
+ children?: ReactNode;
40
+ };
41
+ type DialogTitleProps = DialogTextOwnProps & Omit<TextProps, keyof DialogTextOwnProps> & Omit<TextStyleProps, keyof DialogTextOwnProps | keyof TextProps>;
42
+ type DialogDescriptionProps = DialogTitleProps;
43
+ /**
44
+ * Everything the shared `CloseButton` accepts, minus the three the dialog supplies itself:
45
+ * the warning's name and the two styles its recipe already resolved (R5).
46
+ *
47
+ * Which means `children` is optional and the cross is drawn without it, and that a caller
48
+ * who passes `asChild` gets their own element instead — the two dismissals a dialog has.
49
+ */
50
+ type DialogCloseProps = Omit<CloseButtonProps, 'name' | 'baseStyle' | 'glyphStyle'>;
51
+ /** R5 — resolved style ids and the state the slots read. */
52
+ type DialogContextValue = {
53
+ overlayStyle: StyleProp<ViewStyle>;
54
+ panelStyle: StyleProp<ViewStyle>;
55
+ contentStyle: StyleProp<ViewStyle>;
56
+ titleStyle: StyleProp<TextStyle>;
57
+ descriptionStyle: StyleProp<TextStyle>;
58
+ closeStyle: StyleProp<ViewStyle>;
59
+ closeGlyphStyle: StyleProp<ViewStyle>;
60
+ isOpen: boolean;
61
+ isDisabled: boolean;
62
+ open: () => void;
63
+ close: () => void;
64
+ toggle: () => void;
65
+ };
66
+
67
+ /**
68
+ * A question the page has to be answered before it goes on.
69
+ *
70
+ * ```tsx
71
+ * <Dialog>
72
+ * <Dialog.Trigger asChild>
73
+ * <Button variant="danger">Supprimer</Button>
74
+ * </Dialog.Trigger>
75
+ * <Dialog.Overlay />
76
+ * <Dialog.Content>
77
+ * <Dialog.Title>Supprimer ce document ?</Dialog.Title>
78
+ * <Dialog.Description>Définitif, sans corbeille.</Dialog.Description>
79
+ * </Dialog.Content>
80
+ * </Dialog>
81
+ * ```
82
+ *
83
+ * **The root renders no node.** It holds one piece of state and the styles the slots read.
84
+ *
85
+ * It is the `Popover` without an anchor: the same portal, the same context re-provision,
86
+ * the same keyframes — and none of the measuring pass, the host origin or the collision
87
+ * flip, because a centred box has nothing to be measured against.
88
+ */
89
+ declare function Dialog$1({ children, radius, isOpen: controlledOpen, defaultOpen, onOpenChange, isDisabled, }: DialogProps): react.JSX.Element;
90
+ declare namespace Dialog$1 {
91
+ var displayName: string;
92
+ }
93
+
94
+ /**
95
+ * The way out of the dialog, in either of the two shapes one takes.
96
+ *
97
+ * ```tsx
98
+ * <Dialog.Content>
99
+ * <Dialog.Close alignSelf="flex-end" accessibilityLabel="Fermer" />
100
+ * <Dialog.Title>Supprimer ce document ?</Dialog.Title>
101
+ * <Dialog.Close asChild>
102
+ * <Button variant="danger">Supprimer</Button>
103
+ * </Dialog.Close>
104
+ * </Dialog.Content>
105
+ * ```
106
+ *
107
+ * **Empty, it draws a cross** — the shared `CloseButton`'s, from two bars, so the corner
108
+ * affordance exists in a project that has installed no icon set. Given children, or
109
+ * `asChild`, it is whatever the dismissal actually says. Both close the dialog, which is
110
+ * the only thing this file adds to the shared button.
111
+ *
112
+ * It places itself nowhere. `alignSelf`, or `position: 'absolute'` with a `top` and an
113
+ * `end`, are the caller's call, because a title with room beside it and one without want
114
+ * different answers (R4).
115
+ */
116
+ declare const DialogClose: react.ForwardRefExoticComponent<DialogCloseProps & react.RefAttributes<View>>;
117
+
118
+ /**
119
+ * The panel, centred on the screen and inset from its edges.
120
+ *
121
+ * Two layers, and the outer one is not decoration: a centred box cannot also be the thing
122
+ * that centres it. The panel fills the portal and does the centring; the content is the
123
+ * box. The outer layer takes no touches, so a press that misses the panel reaches the
124
+ * overlay under it and closes the dialog.
125
+ */
126
+ declare const DialogContent: react.ForwardRefExoticComponent<{
127
+ children?: react.ReactNode;
128
+ } & Omit<react_native.ViewProps, "children"> & Omit<ViewStyleProps, keyof react_native.ViewProps> & react.RefAttributes<View>>;
129
+
130
+ /** What the question costs. It wraps — that is what it exists to carry. */
131
+ declare const DialogDescription: react.ForwardRefExoticComponent<{
132
+ children?: react.ReactNode;
133
+ } & Omit<react_native.TextProps, "children"> & Omit<TextStyleProps, keyof react_native.TextProps> & react.RefAttributes<Text>>;
134
+
135
+ /**
136
+ * The backdrop, and what closes the dialog on a press outside it.
137
+ *
138
+ * **It dims**, where the `Popover`'s paints nothing. A popover is an aside you read the
139
+ * page around; a dialog is a question, and the page behind it is not available until it is
140
+ * answered — the dimming is what says so.
141
+ *
142
+ * `isDismissable={false}` for one that must be answered rather than escaped.
143
+ */
144
+ declare const DialogOverlay: react.ForwardRefExoticComponent<{
145
+ children?: react.ReactNode;
146
+ isDismissable?: boolean;
147
+ } & Omit<react_native.ViewProps, keyof {
148
+ children?: react.ReactNode;
149
+ isDismissable?: boolean;
150
+ }> & Omit<ViewStyleProps, "pointerEvents" | "style" | "children" | "hitSlop" | "id" | "needsOffscreenAlphaCompositing" | "onLayout" | "removeClippedSubviews" | "testID" | "nativeID" | "collapsable" | "collapsableChildren" | "onBlur" | "onFocus" | "renderToHardwareTextureAndroid" | "focusable" | "tabIndex" | "shouldRasterizeIOS" | "isTVSelectable" | "hasTVPreferredFocus" | "tvParallaxShiftDistanceX" | "tvParallaxShiftDistanceY" | "tvParallaxTiltAngle" | "tvParallaxMagnification" | "onStartShouldSetResponder" | "onMoveShouldSetResponder" | "onResponderEnd" | "onResponderGrant" | "onResponderReject" | "onResponderMove" | "onResponderRelease" | "onResponderStart" | "onResponderTerminationRequest" | "onResponderTerminate" | "onStartShouldSetResponderCapture" | "onMoveShouldSetResponderCapture" | "onTouchStart" | "onTouchMove" | "onTouchEnd" | "onTouchCancel" | "onTouchEndCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerUp" | "onPointerUpCapture" | "accessible" | "accessibilityActions" | "accessibilityLabel" | "aria-label" | "accessibilityRole" | "accessibilityState" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "accessibilityHint" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "onAccessibilityAction" | "importantForAccessibility" | "aria-hidden" | "aria-modal" | "role" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "screenReaderFocusable" | "accessibilityElementsHidden" | "accessibilityViewIsModal" | "onAccessibilityEscape" | "onAccessibilityTap" | "onMagicTap" | "accessibilityIgnoresInvertColors" | "accessibilityLanguage" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "accessibilityRespondsToUserInteraction" | "isDismissable"> & react.RefAttributes<View>>;
151
+
152
+ /** The question. A `header` for a screen reader, so the dialog announces as one. */
153
+ declare const DialogTitle: react.ForwardRefExoticComponent<{
154
+ children?: react.ReactNode;
155
+ } & Omit<react_native.TextProps, "children"> & Omit<TextStyleProps, keyof react_native.TextProps> & react.RefAttributes<Text>>;
156
+
157
+ /**
158
+ * What asks the question. It paints nothing of its own — a dialog's trigger is a `Button`
159
+ * far more often than not, and giving it a surface would put a second box around one.
160
+ */
161
+ declare const DialogTrigger: react.ForwardRefExoticComponent<{
162
+ children?: react.ReactNode;
163
+ asChild?: boolean;
164
+ } & Omit<react_native.PressableProps, keyof {
165
+ children?: react.ReactNode;
166
+ asChild?: boolean;
167
+ }> & Omit<ViewStyleProps, "pointerEvents" | "style" | "children" | "hitSlop" | "id" | "needsOffscreenAlphaCompositing" | "onLayout" | "removeClippedSubviews" | "testID" | "nativeID" | "collapsable" | "collapsableChildren" | "onBlur" | "onFocus" | "renderToHardwareTextureAndroid" | "focusable" | "tabIndex" | "shouldRasterizeIOS" | "isTVSelectable" | "hasTVPreferredFocus" | "tvParallaxShiftDistanceX" | "tvParallaxShiftDistanceY" | "tvParallaxTiltAngle" | "tvParallaxMagnification" | "onStartShouldSetResponder" | "onMoveShouldSetResponder" | "onResponderEnd" | "onResponderGrant" | "onResponderReject" | "onResponderMove" | "onResponderRelease" | "onResponderStart" | "onResponderTerminationRequest" | "onResponderTerminate" | "onStartShouldSetResponderCapture" | "onMoveShouldSetResponderCapture" | "onTouchStart" | "onTouchMove" | "onTouchEnd" | "onTouchCancel" | "onTouchEndCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerUp" | "onPointerUpCapture" | "accessible" | "accessibilityActions" | "accessibilityLabel" | "aria-label" | "accessibilityRole" | "accessibilityState" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "accessibilityHint" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "onAccessibilityAction" | "importantForAccessibility" | "aria-hidden" | "aria-modal" | "role" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "screenReaderFocusable" | "accessibilityElementsHidden" | "accessibilityViewIsModal" | "onAccessibilityEscape" | "onAccessibilityTap" | "onMagicTap" | "accessibilityIgnoresInvertColors" | "accessibilityLanguage" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "accessibilityRespondsToUserInteraction" | "disabled" | "onPress" | "onPressIn" | "onPressOut" | "onLongPress" | "delayLongPress" | "asChild" | "onHoverIn" | "onHoverOut" | "cancelable" | "delayHoverIn" | "delayHoverOut" | "pressRetentionOffset" | "android_disableSound" | "android_ripple" | "testOnly_pressed" | "unstable_pressDelay"> & react.RefAttributes<View>>;
168
+
169
+ declare const useDialog: () => DialogContextValue;
170
+
171
+ declare const dialogRecipe: Recipe<"title" | "overlay" | "content" | "description" | "close" | "closeGlyph" | "panel", "default", {
172
+ readonly radius: Record<RadiusKey, StyleFn<"content">>;
173
+ }>;
174
+
175
+ declare const Dialog: typeof Dialog$1 & {
176
+ Trigger: react.ForwardRefExoticComponent<{
177
+ children?: react.ReactNode;
178
+ asChild?: boolean;
179
+ } & Omit<react_native.PressableProps, keyof {
180
+ children?: react.ReactNode;
181
+ asChild?: boolean;
182
+ }> & Omit<ViewStyleProps, "pointerEvents" | "style" | "children" | "hitSlop" | "id" | "needsOffscreenAlphaCompositing" | "onLayout" | "removeClippedSubviews" | "testID" | "nativeID" | "collapsable" | "collapsableChildren" | "onBlur" | "onFocus" | "renderToHardwareTextureAndroid" | "focusable" | "tabIndex" | "shouldRasterizeIOS" | "isTVSelectable" | "hasTVPreferredFocus" | "tvParallaxShiftDistanceX" | "tvParallaxShiftDistanceY" | "tvParallaxTiltAngle" | "tvParallaxMagnification" | "onStartShouldSetResponder" | "onMoveShouldSetResponder" | "onResponderEnd" | "onResponderGrant" | "onResponderReject" | "onResponderMove" | "onResponderRelease" | "onResponderStart" | "onResponderTerminationRequest" | "onResponderTerminate" | "onStartShouldSetResponderCapture" | "onMoveShouldSetResponderCapture" | "onTouchStart" | "onTouchMove" | "onTouchEnd" | "onTouchCancel" | "onTouchEndCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerUp" | "onPointerUpCapture" | "accessible" | "accessibilityActions" | "accessibilityLabel" | "aria-label" | "accessibilityRole" | "accessibilityState" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "accessibilityHint" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "onAccessibilityAction" | "importantForAccessibility" | "aria-hidden" | "aria-modal" | "role" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "screenReaderFocusable" | "accessibilityElementsHidden" | "accessibilityViewIsModal" | "onAccessibilityEscape" | "onAccessibilityTap" | "onMagicTap" | "accessibilityIgnoresInvertColors" | "accessibilityLanguage" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "accessibilityRespondsToUserInteraction" | "disabled" | "onPress" | "onPressIn" | "onPressOut" | "onLongPress" | "delayLongPress" | "asChild" | "onHoverIn" | "onHoverOut" | "cancelable" | "delayHoverIn" | "delayHoverOut" | "pressRetentionOffset" | "android_disableSound" | "android_ripple" | "testOnly_pressed" | "unstable_pressDelay"> & react.RefAttributes<react_native.View>>;
183
+ Overlay: react.ForwardRefExoticComponent<{
184
+ children?: react.ReactNode;
185
+ isDismissable?: boolean;
186
+ } & Omit<react_native.ViewProps, keyof {
187
+ children?: react.ReactNode;
188
+ isDismissable?: boolean;
189
+ }> & Omit<ViewStyleProps, "pointerEvents" | "style" | "children" | "hitSlop" | "id" | "needsOffscreenAlphaCompositing" | "onLayout" | "removeClippedSubviews" | "testID" | "nativeID" | "collapsable" | "collapsableChildren" | "onBlur" | "onFocus" | "renderToHardwareTextureAndroid" | "focusable" | "tabIndex" | "shouldRasterizeIOS" | "isTVSelectable" | "hasTVPreferredFocus" | "tvParallaxShiftDistanceX" | "tvParallaxShiftDistanceY" | "tvParallaxTiltAngle" | "tvParallaxMagnification" | "onStartShouldSetResponder" | "onMoveShouldSetResponder" | "onResponderEnd" | "onResponderGrant" | "onResponderReject" | "onResponderMove" | "onResponderRelease" | "onResponderStart" | "onResponderTerminationRequest" | "onResponderTerminate" | "onStartShouldSetResponderCapture" | "onMoveShouldSetResponderCapture" | "onTouchStart" | "onTouchMove" | "onTouchEnd" | "onTouchCancel" | "onTouchEndCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerUp" | "onPointerUpCapture" | "accessible" | "accessibilityActions" | "accessibilityLabel" | "aria-label" | "accessibilityRole" | "accessibilityState" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "accessibilityHint" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "onAccessibilityAction" | "importantForAccessibility" | "aria-hidden" | "aria-modal" | "role" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "screenReaderFocusable" | "accessibilityElementsHidden" | "accessibilityViewIsModal" | "onAccessibilityEscape" | "onAccessibilityTap" | "onMagicTap" | "accessibilityIgnoresInvertColors" | "accessibilityLanguage" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "accessibilityRespondsToUserInteraction" | "isDismissable"> & react.RefAttributes<react_native.View>>;
190
+ Content: react.ForwardRefExoticComponent<{
191
+ children?: react.ReactNode;
192
+ } & Omit<react_native.ViewProps, "children"> & Omit<ViewStyleProps, keyof react_native.ViewProps> & react.RefAttributes<react_native.View>>;
193
+ Title: react.ForwardRefExoticComponent<{
194
+ children?: react.ReactNode;
195
+ } & Omit<react_native.TextProps, "children"> & Omit<TextStyleProps, keyof react_native.TextProps> & react.RefAttributes<react_native.Text>>;
196
+ Description: react.ForwardRefExoticComponent<{
197
+ children?: react.ReactNode;
198
+ } & Omit<react_native.TextProps, "children"> & Omit<TextStyleProps, keyof react_native.TextProps> & react.RefAttributes<react_native.Text>>;
199
+ Close: react.ForwardRefExoticComponent<DialogCloseProps & react.RefAttributes<react_native.View>>;
200
+ };
201
+
202
+ export { Dialog, DialogClose, type DialogCloseProps, DialogContent, type DialogContentProps, type DialogContextValue, DialogDescription, type DialogDescriptionProps, DialogOverlay, type DialogOverlayProps, type DialogProps, Dialog$1 as DialogRoot, type DialogSlot, DialogTitle, type DialogTitleProps, DialogTrigger, type DialogTriggerProps, dialogRecipe, useDialog };
@@ -0,0 +1,202 @@
1
+ import * as react from 'react';
2
+ import { ReactNode } from 'react';
3
+ import * as react_native from 'react-native';
4
+ import { StyleProp, ViewStyle, TextStyle, ViewProps, TextProps, PressableProps, View, Text } from 'react-native';
5
+ import { V as ViewStyleProps, T as TextStyleProps } from '../../style-props.type-CfnoGEP7.js';
6
+ import { R as RadiusKey } from '../../theme.type-C2gNHpEx.js';
7
+ import { C as CloseButtonProps } from '../../close-button.type-BUYuoSt2.js';
8
+ import { R as Recipe, a as StyleFn } from '../../create-recipe-BdVd2ffi.js';
9
+ import '../../pressable-feedback.type-Bs4dQlGj.js';
10
+ import 'react-native-reanimated';
11
+
12
+ type DialogSlot = 'overlay' | 'panel' | 'content' | 'title' | 'description' | 'close' | 'closeGlyph';
13
+ type DialogOwnProps = {
14
+ children?: ReactNode;
15
+ radius?: RadiusKey;
16
+ isOpen?: boolean;
17
+ defaultOpen?: boolean;
18
+ onOpenChange?: (isOpen: boolean) => void;
19
+ isDisabled?: boolean;
20
+ };
21
+ /** The root renders **no node** — `ref` and `style` live on the parts that draw. */
22
+ type DialogProps = DialogOwnProps;
23
+ type DialogTriggerOwnProps = {
24
+ children?: ReactNode;
25
+ asChild?: boolean;
26
+ };
27
+ type DialogTriggerProps = DialogTriggerOwnProps & Omit<PressableProps, keyof DialogTriggerOwnProps> & Omit<ViewStyleProps, keyof DialogTriggerOwnProps | keyof PressableProps>;
28
+ type DialogOverlayOwnProps = {
29
+ children?: ReactNode;
30
+ /** Pressing the backdrop closes the dialog. Off for one that must be answered. */
31
+ isDismissable?: boolean;
32
+ };
33
+ type DialogOverlayProps = DialogOverlayOwnProps & Omit<ViewProps, keyof DialogOverlayOwnProps> & Omit<ViewStyleProps, keyof DialogOverlayOwnProps | keyof ViewProps>;
34
+ type DialogContentOwnProps = {
35
+ children?: ReactNode;
36
+ };
37
+ type DialogContentProps = DialogContentOwnProps & Omit<ViewProps, keyof DialogContentOwnProps> & Omit<ViewStyleProps, keyof DialogContentOwnProps | keyof ViewProps>;
38
+ type DialogTextOwnProps = {
39
+ children?: ReactNode;
40
+ };
41
+ type DialogTitleProps = DialogTextOwnProps & Omit<TextProps, keyof DialogTextOwnProps> & Omit<TextStyleProps, keyof DialogTextOwnProps | keyof TextProps>;
42
+ type DialogDescriptionProps = DialogTitleProps;
43
+ /**
44
+ * Everything the shared `CloseButton` accepts, minus the three the dialog supplies itself:
45
+ * the warning's name and the two styles its recipe already resolved (R5).
46
+ *
47
+ * Which means `children` is optional and the cross is drawn without it, and that a caller
48
+ * who passes `asChild` gets their own element instead — the two dismissals a dialog has.
49
+ */
50
+ type DialogCloseProps = Omit<CloseButtonProps, 'name' | 'baseStyle' | 'glyphStyle'>;
51
+ /** R5 — resolved style ids and the state the slots read. */
52
+ type DialogContextValue = {
53
+ overlayStyle: StyleProp<ViewStyle>;
54
+ panelStyle: StyleProp<ViewStyle>;
55
+ contentStyle: StyleProp<ViewStyle>;
56
+ titleStyle: StyleProp<TextStyle>;
57
+ descriptionStyle: StyleProp<TextStyle>;
58
+ closeStyle: StyleProp<ViewStyle>;
59
+ closeGlyphStyle: StyleProp<ViewStyle>;
60
+ isOpen: boolean;
61
+ isDisabled: boolean;
62
+ open: () => void;
63
+ close: () => void;
64
+ toggle: () => void;
65
+ };
66
+
67
+ /**
68
+ * A question the page has to be answered before it goes on.
69
+ *
70
+ * ```tsx
71
+ * <Dialog>
72
+ * <Dialog.Trigger asChild>
73
+ * <Button variant="danger">Supprimer</Button>
74
+ * </Dialog.Trigger>
75
+ * <Dialog.Overlay />
76
+ * <Dialog.Content>
77
+ * <Dialog.Title>Supprimer ce document ?</Dialog.Title>
78
+ * <Dialog.Description>Définitif, sans corbeille.</Dialog.Description>
79
+ * </Dialog.Content>
80
+ * </Dialog>
81
+ * ```
82
+ *
83
+ * **The root renders no node.** It holds one piece of state and the styles the slots read.
84
+ *
85
+ * It is the `Popover` without an anchor: the same portal, the same context re-provision,
86
+ * the same keyframes — and none of the measuring pass, the host origin or the collision
87
+ * flip, because a centred box has nothing to be measured against.
88
+ */
89
+ declare function Dialog$1({ children, radius, isOpen: controlledOpen, defaultOpen, onOpenChange, isDisabled, }: DialogProps): react.JSX.Element;
90
+ declare namespace Dialog$1 {
91
+ var displayName: string;
92
+ }
93
+
94
+ /**
95
+ * The way out of the dialog, in either of the two shapes one takes.
96
+ *
97
+ * ```tsx
98
+ * <Dialog.Content>
99
+ * <Dialog.Close alignSelf="flex-end" accessibilityLabel="Fermer" />
100
+ * <Dialog.Title>Supprimer ce document ?</Dialog.Title>
101
+ * <Dialog.Close asChild>
102
+ * <Button variant="danger">Supprimer</Button>
103
+ * </Dialog.Close>
104
+ * </Dialog.Content>
105
+ * ```
106
+ *
107
+ * **Empty, it draws a cross** — the shared `CloseButton`'s, from two bars, so the corner
108
+ * affordance exists in a project that has installed no icon set. Given children, or
109
+ * `asChild`, it is whatever the dismissal actually says. Both close the dialog, which is
110
+ * the only thing this file adds to the shared button.
111
+ *
112
+ * It places itself nowhere. `alignSelf`, or `position: 'absolute'` with a `top` and an
113
+ * `end`, are the caller's call, because a title with room beside it and one without want
114
+ * different answers (R4).
115
+ */
116
+ declare const DialogClose: react.ForwardRefExoticComponent<DialogCloseProps & react.RefAttributes<View>>;
117
+
118
+ /**
119
+ * The panel, centred on the screen and inset from its edges.
120
+ *
121
+ * Two layers, and the outer one is not decoration: a centred box cannot also be the thing
122
+ * that centres it. The panel fills the portal and does the centring; the content is the
123
+ * box. The outer layer takes no touches, so a press that misses the panel reaches the
124
+ * overlay under it and closes the dialog.
125
+ */
126
+ declare const DialogContent: react.ForwardRefExoticComponent<{
127
+ children?: react.ReactNode;
128
+ } & Omit<react_native.ViewProps, "children"> & Omit<ViewStyleProps, keyof react_native.ViewProps> & react.RefAttributes<View>>;
129
+
130
+ /** What the question costs. It wraps — that is what it exists to carry. */
131
+ declare const DialogDescription: react.ForwardRefExoticComponent<{
132
+ children?: react.ReactNode;
133
+ } & Omit<react_native.TextProps, "children"> & Omit<TextStyleProps, keyof react_native.TextProps> & react.RefAttributes<Text>>;
134
+
135
+ /**
136
+ * The backdrop, and what closes the dialog on a press outside it.
137
+ *
138
+ * **It dims**, where the `Popover`'s paints nothing. A popover is an aside you read the
139
+ * page around; a dialog is a question, and the page behind it is not available until it is
140
+ * answered — the dimming is what says so.
141
+ *
142
+ * `isDismissable={false}` for one that must be answered rather than escaped.
143
+ */
144
+ declare const DialogOverlay: react.ForwardRefExoticComponent<{
145
+ children?: react.ReactNode;
146
+ isDismissable?: boolean;
147
+ } & Omit<react_native.ViewProps, keyof {
148
+ children?: react.ReactNode;
149
+ isDismissable?: boolean;
150
+ }> & Omit<ViewStyleProps, "pointerEvents" | "style" | "children" | "hitSlop" | "id" | "needsOffscreenAlphaCompositing" | "onLayout" | "removeClippedSubviews" | "testID" | "nativeID" | "collapsable" | "collapsableChildren" | "onBlur" | "onFocus" | "renderToHardwareTextureAndroid" | "focusable" | "tabIndex" | "shouldRasterizeIOS" | "isTVSelectable" | "hasTVPreferredFocus" | "tvParallaxShiftDistanceX" | "tvParallaxShiftDistanceY" | "tvParallaxTiltAngle" | "tvParallaxMagnification" | "onStartShouldSetResponder" | "onMoveShouldSetResponder" | "onResponderEnd" | "onResponderGrant" | "onResponderReject" | "onResponderMove" | "onResponderRelease" | "onResponderStart" | "onResponderTerminationRequest" | "onResponderTerminate" | "onStartShouldSetResponderCapture" | "onMoveShouldSetResponderCapture" | "onTouchStart" | "onTouchMove" | "onTouchEnd" | "onTouchCancel" | "onTouchEndCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerUp" | "onPointerUpCapture" | "accessible" | "accessibilityActions" | "accessibilityLabel" | "aria-label" | "accessibilityRole" | "accessibilityState" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "accessibilityHint" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "onAccessibilityAction" | "importantForAccessibility" | "aria-hidden" | "aria-modal" | "role" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "screenReaderFocusable" | "accessibilityElementsHidden" | "accessibilityViewIsModal" | "onAccessibilityEscape" | "onAccessibilityTap" | "onMagicTap" | "accessibilityIgnoresInvertColors" | "accessibilityLanguage" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "accessibilityRespondsToUserInteraction" | "isDismissable"> & react.RefAttributes<View>>;
151
+
152
+ /** The question. A `header` for a screen reader, so the dialog announces as one. */
153
+ declare const DialogTitle: react.ForwardRefExoticComponent<{
154
+ children?: react.ReactNode;
155
+ } & Omit<react_native.TextProps, "children"> & Omit<TextStyleProps, keyof react_native.TextProps> & react.RefAttributes<Text>>;
156
+
157
+ /**
158
+ * What asks the question. It paints nothing of its own — a dialog's trigger is a `Button`
159
+ * far more often than not, and giving it a surface would put a second box around one.
160
+ */
161
+ declare const DialogTrigger: react.ForwardRefExoticComponent<{
162
+ children?: react.ReactNode;
163
+ asChild?: boolean;
164
+ } & Omit<react_native.PressableProps, keyof {
165
+ children?: react.ReactNode;
166
+ asChild?: boolean;
167
+ }> & Omit<ViewStyleProps, "pointerEvents" | "style" | "children" | "hitSlop" | "id" | "needsOffscreenAlphaCompositing" | "onLayout" | "removeClippedSubviews" | "testID" | "nativeID" | "collapsable" | "collapsableChildren" | "onBlur" | "onFocus" | "renderToHardwareTextureAndroid" | "focusable" | "tabIndex" | "shouldRasterizeIOS" | "isTVSelectable" | "hasTVPreferredFocus" | "tvParallaxShiftDistanceX" | "tvParallaxShiftDistanceY" | "tvParallaxTiltAngle" | "tvParallaxMagnification" | "onStartShouldSetResponder" | "onMoveShouldSetResponder" | "onResponderEnd" | "onResponderGrant" | "onResponderReject" | "onResponderMove" | "onResponderRelease" | "onResponderStart" | "onResponderTerminationRequest" | "onResponderTerminate" | "onStartShouldSetResponderCapture" | "onMoveShouldSetResponderCapture" | "onTouchStart" | "onTouchMove" | "onTouchEnd" | "onTouchCancel" | "onTouchEndCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerUp" | "onPointerUpCapture" | "accessible" | "accessibilityActions" | "accessibilityLabel" | "aria-label" | "accessibilityRole" | "accessibilityState" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "accessibilityHint" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "onAccessibilityAction" | "importantForAccessibility" | "aria-hidden" | "aria-modal" | "role" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "screenReaderFocusable" | "accessibilityElementsHidden" | "accessibilityViewIsModal" | "onAccessibilityEscape" | "onAccessibilityTap" | "onMagicTap" | "accessibilityIgnoresInvertColors" | "accessibilityLanguage" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "accessibilityRespondsToUserInteraction" | "disabled" | "onPress" | "onPressIn" | "onPressOut" | "onLongPress" | "delayLongPress" | "asChild" | "onHoverIn" | "onHoverOut" | "cancelable" | "delayHoverIn" | "delayHoverOut" | "pressRetentionOffset" | "android_disableSound" | "android_ripple" | "testOnly_pressed" | "unstable_pressDelay"> & react.RefAttributes<View>>;
168
+
169
+ declare const useDialog: () => DialogContextValue;
170
+
171
+ declare const dialogRecipe: Recipe<"title" | "overlay" | "content" | "description" | "close" | "closeGlyph" | "panel", "default", {
172
+ readonly radius: Record<RadiusKey, StyleFn<"content">>;
173
+ }>;
174
+
175
+ declare const Dialog: typeof Dialog$1 & {
176
+ Trigger: react.ForwardRefExoticComponent<{
177
+ children?: react.ReactNode;
178
+ asChild?: boolean;
179
+ } & Omit<react_native.PressableProps, keyof {
180
+ children?: react.ReactNode;
181
+ asChild?: boolean;
182
+ }> & Omit<ViewStyleProps, "pointerEvents" | "style" | "children" | "hitSlop" | "id" | "needsOffscreenAlphaCompositing" | "onLayout" | "removeClippedSubviews" | "testID" | "nativeID" | "collapsable" | "collapsableChildren" | "onBlur" | "onFocus" | "renderToHardwareTextureAndroid" | "focusable" | "tabIndex" | "shouldRasterizeIOS" | "isTVSelectable" | "hasTVPreferredFocus" | "tvParallaxShiftDistanceX" | "tvParallaxShiftDistanceY" | "tvParallaxTiltAngle" | "tvParallaxMagnification" | "onStartShouldSetResponder" | "onMoveShouldSetResponder" | "onResponderEnd" | "onResponderGrant" | "onResponderReject" | "onResponderMove" | "onResponderRelease" | "onResponderStart" | "onResponderTerminationRequest" | "onResponderTerminate" | "onStartShouldSetResponderCapture" | "onMoveShouldSetResponderCapture" | "onTouchStart" | "onTouchMove" | "onTouchEnd" | "onTouchCancel" | "onTouchEndCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerUp" | "onPointerUpCapture" | "accessible" | "accessibilityActions" | "accessibilityLabel" | "aria-label" | "accessibilityRole" | "accessibilityState" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "accessibilityHint" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "onAccessibilityAction" | "importantForAccessibility" | "aria-hidden" | "aria-modal" | "role" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "screenReaderFocusable" | "accessibilityElementsHidden" | "accessibilityViewIsModal" | "onAccessibilityEscape" | "onAccessibilityTap" | "onMagicTap" | "accessibilityIgnoresInvertColors" | "accessibilityLanguage" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "accessibilityRespondsToUserInteraction" | "disabled" | "onPress" | "onPressIn" | "onPressOut" | "onLongPress" | "delayLongPress" | "asChild" | "onHoverIn" | "onHoverOut" | "cancelable" | "delayHoverIn" | "delayHoverOut" | "pressRetentionOffset" | "android_disableSound" | "android_ripple" | "testOnly_pressed" | "unstable_pressDelay"> & react.RefAttributes<react_native.View>>;
183
+ Overlay: react.ForwardRefExoticComponent<{
184
+ children?: react.ReactNode;
185
+ isDismissable?: boolean;
186
+ } & Omit<react_native.ViewProps, keyof {
187
+ children?: react.ReactNode;
188
+ isDismissable?: boolean;
189
+ }> & Omit<ViewStyleProps, "pointerEvents" | "style" | "children" | "hitSlop" | "id" | "needsOffscreenAlphaCompositing" | "onLayout" | "removeClippedSubviews" | "testID" | "nativeID" | "collapsable" | "collapsableChildren" | "onBlur" | "onFocus" | "renderToHardwareTextureAndroid" | "focusable" | "tabIndex" | "shouldRasterizeIOS" | "isTVSelectable" | "hasTVPreferredFocus" | "tvParallaxShiftDistanceX" | "tvParallaxShiftDistanceY" | "tvParallaxTiltAngle" | "tvParallaxMagnification" | "onStartShouldSetResponder" | "onMoveShouldSetResponder" | "onResponderEnd" | "onResponderGrant" | "onResponderReject" | "onResponderMove" | "onResponderRelease" | "onResponderStart" | "onResponderTerminationRequest" | "onResponderTerminate" | "onStartShouldSetResponderCapture" | "onMoveShouldSetResponderCapture" | "onTouchStart" | "onTouchMove" | "onTouchEnd" | "onTouchCancel" | "onTouchEndCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerUp" | "onPointerUpCapture" | "accessible" | "accessibilityActions" | "accessibilityLabel" | "aria-label" | "accessibilityRole" | "accessibilityState" | "aria-busy" | "aria-checked" | "aria-disabled" | "aria-expanded" | "aria-selected" | "accessibilityHint" | "accessibilityValue" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "onAccessibilityAction" | "importantForAccessibility" | "aria-hidden" | "aria-modal" | "role" | "accessibilityLabelledBy" | "aria-labelledby" | "accessibilityLiveRegion" | "aria-live" | "screenReaderFocusable" | "accessibilityElementsHidden" | "accessibilityViewIsModal" | "onAccessibilityEscape" | "onAccessibilityTap" | "onMagicTap" | "accessibilityIgnoresInvertColors" | "accessibilityLanguage" | "accessibilityShowsLargeContentViewer" | "accessibilityLargeContentTitle" | "accessibilityRespondsToUserInteraction" | "isDismissable"> & react.RefAttributes<react_native.View>>;
190
+ Content: react.ForwardRefExoticComponent<{
191
+ children?: react.ReactNode;
192
+ } & Omit<react_native.ViewProps, "children"> & Omit<ViewStyleProps, keyof react_native.ViewProps> & react.RefAttributes<react_native.View>>;
193
+ Title: react.ForwardRefExoticComponent<{
194
+ children?: react.ReactNode;
195
+ } & Omit<react_native.TextProps, "children"> & Omit<TextStyleProps, keyof react_native.TextProps> & react.RefAttributes<react_native.Text>>;
196
+ Description: react.ForwardRefExoticComponent<{
197
+ children?: react.ReactNode;
198
+ } & Omit<react_native.TextProps, "children"> & Omit<TextStyleProps, keyof react_native.TextProps> & react.RefAttributes<react_native.Text>>;
199
+ Close: react.ForwardRefExoticComponent<DialogCloseProps & react.RefAttributes<react_native.View>>;
200
+ };
201
+
202
+ export { Dialog, DialogClose, type DialogCloseProps, DialogContent, type DialogContentProps, type DialogContextValue, DialogDescription, type DialogDescriptionProps, DialogOverlay, type DialogOverlayProps, type DialogProps, Dialog$1 as DialogRoot, type DialogSlot, DialogTitle, type DialogTitleProps, DialogTrigger, type DialogTriggerProps, dialogRecipe, useDialog };
@@ -0,0 +1,36 @@
1
+ import {
2
+ Dialog,
3
+ Dialog2,
4
+ DialogClose,
5
+ DialogContent,
6
+ DialogDescription,
7
+ DialogOverlay,
8
+ DialogTitle,
9
+ DialogTrigger,
10
+ dialogRecipe,
11
+ useDialog
12
+ } from "../../chunk-MA66HZKP.js";
13
+ import "../../chunk-VIJTAIGH.js";
14
+ import "../../chunk-2PMXMKS5.js";
15
+ import "../../chunk-64MXEVT3.js";
16
+ import "../../chunk-F6W3JQ7K.js";
17
+ import "../../chunk-LIUO6D3D.js";
18
+ import "../../chunk-423RQBOX.js";
19
+ import "../../chunk-EGLLDKN6.js";
20
+ import "../../chunk-K72UDPVN.js";
21
+ import "../../chunk-36PRYGAM.js";
22
+ import "../../chunk-4GTAZM2C.js";
23
+ import "../../chunk-A3EGFI6T.js";
24
+ import "../../chunk-M63GFNKV.js";
25
+ export {
26
+ Dialog2 as Dialog,
27
+ DialogClose,
28
+ DialogContent,
29
+ DialogDescription,
30
+ DialogOverlay,
31
+ Dialog as DialogRoot,
32
+ DialogTitle,
33
+ DialogTrigger,
34
+ dialogRecipe,
35
+ useDialog
36
+ };
@@ -281,4 +281,4 @@ declare const Slider: react.ForwardRefExoticComponent<{
281
281
  Thumb: typeof SliderThumb;
282
282
  };
283
283
 
284
- export { Slider, type SliderContextValue, SliderFill, type SliderFillProps, SliderOutput, type SliderOutputProps, type SliderProps, SliderRoot, type SliderSize, type SliderSlot, SliderThumb, type SliderThumbProps, SliderTrack, type SliderTrackProps, fromFraction, sliderRecipe, snap, toFraction, useSlider };
284
+ export { Slider, type SliderContextValue, SliderFill, type SliderFillProps, SliderOutput, type SliderOutputProps, type SliderProps, SliderRoot, type SliderSize, type SliderSlot, SliderThumb, type SliderThumbProps, SliderTrack, type SliderTrackProps, type SliderValue, fromFraction, sliderRecipe, snap, toFraction, useSlider };
@@ -281,4 +281,4 @@ declare const Slider: react.ForwardRefExoticComponent<{
281
281
  Thumb: typeof SliderThumb;
282
282
  };
283
283
 
284
- export { Slider, type SliderContextValue, SliderFill, type SliderFillProps, SliderOutput, type SliderOutputProps, type SliderProps, SliderRoot, type SliderSize, type SliderSlot, SliderThumb, type SliderThumbProps, SliderTrack, type SliderTrackProps, fromFraction, sliderRecipe, snap, toFraction, useSlider };
284
+ export { Slider, type SliderContextValue, SliderFill, type SliderFillProps, SliderOutput, type SliderOutputProps, type SliderProps, SliderRoot, type SliderSize, type SliderSlot, SliderThumb, type SliderThumbProps, SliderTrack, type SliderTrackProps, type SliderValue, fromFraction, sliderRecipe, snap, toFraction, useSlider };