panelui-native 0.7.0 → 0.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/README.md +5 -3
  2. package/lib/module/components/attachment/index.js +219 -0
  3. package/lib/module/components/attachment/index.js.map +1 -0
  4. package/lib/module/components/bottom-sheet/index.js +53 -3
  5. package/lib/module/components/bottom-sheet/index.js.map +1 -1
  6. package/lib/module/components/button/index.js +19 -1
  7. package/lib/module/components/button/index.js.map +1 -1
  8. package/lib/module/components/dialog/index.js +6 -2
  9. package/lib/module/components/dialog/index.js.map +1 -1
  10. package/lib/module/components/empty-state/index.js +94 -17
  11. package/lib/module/components/empty-state/index.js.map +1 -1
  12. package/lib/module/components/frame/index.js +128 -15
  13. package/lib/module/components/frame/index.js.map +1 -1
  14. package/lib/module/components/input/index.js +107 -15
  15. package/lib/module/components/input/index.js.map +1 -1
  16. package/lib/module/components/line-chart/index.js +1024 -0
  17. package/lib/module/components/line-chart/index.js.map +1 -0
  18. package/lib/module/components/marker/index.js +190 -0
  19. package/lib/module/components/marker/index.js.map +1 -0
  20. package/lib/module/components/message/index.js +24 -8
  21. package/lib/module/components/message/index.js.map +1 -1
  22. package/lib/module/components/message-scroller/index.js +451 -0
  23. package/lib/module/components/message-scroller/index.js.map +1 -0
  24. package/lib/module/components/popover/index.js +511 -0
  25. package/lib/module/components/popover/index.js.map +1 -0
  26. package/lib/module/components/progress/index.js +52 -2
  27. package/lib/module/components/progress/index.js.map +1 -1
  28. package/lib/module/components/radio-group/index.js +132 -17
  29. package/lib/module/components/radio-group/index.js.map +1 -1
  30. package/lib/module/components/section-rail/index.js +355 -0
  31. package/lib/module/components/section-rail/index.js.map +1 -0
  32. package/lib/module/components/select/index.js +245 -56
  33. package/lib/module/components/select/index.js.map +1 -1
  34. package/lib/module/components/separator/index.js +91 -0
  35. package/lib/module/components/separator/index.js.map +1 -0
  36. package/lib/module/components/slider/index.js +355 -0
  37. package/lib/module/components/slider/index.js.map +1 -0
  38. package/lib/module/components/surface/index.js +21 -2
  39. package/lib/module/components/surface/index.js.map +1 -1
  40. package/lib/module/components/switch/index.js +10 -1
  41. package/lib/module/components/switch/index.js.map +1 -1
  42. package/lib/module/components/tabs/index.js +186 -16
  43. package/lib/module/components/tabs/index.js.map +1 -1
  44. package/lib/module/components/toggle-button/index.js +297 -0
  45. package/lib/module/components/toggle-button/index.js.map +1 -0
  46. package/lib/module/hooks/index.js +1 -0
  47. package/lib/module/hooks/index.js.map +1 -1
  48. package/lib/module/hooks/use-keyboard-avoidance.js +57 -8
  49. package/lib/module/hooks/use-keyboard-avoidance.js.map +1 -1
  50. package/lib/module/hooks/use-scroll-sections.js +89 -0
  51. package/lib/module/hooks/use-scroll-sections.js.map +1 -0
  52. package/lib/module/icons/index.js +69 -0
  53. package/lib/module/icons/index.js.map +1 -1
  54. package/lib/module/index.js +11 -2
  55. package/lib/module/index.js.map +1 -1
  56. package/lib/module/native/index.js.map +1 -1
  57. package/lib/module/primitives/keyboard-avoider.js +2 -0
  58. package/lib/module/primitives/keyboard-avoider.js.map +1 -1
  59. package/lib/module/primitives/scrim.js +72 -0
  60. package/lib/module/primitives/scrim.js.map +1 -0
  61. package/lib/module/utils/haptics.js +57 -0
  62. package/lib/module/utils/haptics.js.map +1 -0
  63. package/lib/typescript/src/components/attachment/index.d.ts +93 -0
  64. package/lib/typescript/src/components/attachment/index.d.ts.map +1 -0
  65. package/lib/typescript/src/components/bottom-sheet/index.d.ts +6 -1
  66. package/lib/typescript/src/components/bottom-sheet/index.d.ts.map +1 -1
  67. package/lib/typescript/src/components/button/index.d.ts +9 -4
  68. package/lib/typescript/src/components/button/index.d.ts.map +1 -1
  69. package/lib/typescript/src/components/dialog/index.d.ts +7 -1
  70. package/lib/typescript/src/components/dialog/index.d.ts.map +1 -1
  71. package/lib/typescript/src/components/empty-state/index.d.ts +152 -2
  72. package/lib/typescript/src/components/empty-state/index.d.ts.map +1 -1
  73. package/lib/typescript/src/components/frame/index.d.ts +47 -7
  74. package/lib/typescript/src/components/frame/index.d.ts.map +1 -1
  75. package/lib/typescript/src/components/input/index.d.ts +113 -2
  76. package/lib/typescript/src/components/input/index.d.ts.map +1 -1
  77. package/lib/typescript/src/components/line-chart/index.d.ts +247 -0
  78. package/lib/typescript/src/components/line-chart/index.d.ts.map +1 -0
  79. package/lib/typescript/src/components/marker/index.d.ts +137 -0
  80. package/lib/typescript/src/components/marker/index.d.ts.map +1 -0
  81. package/lib/typescript/src/components/message/index.d.ts +8 -1
  82. package/lib/typescript/src/components/message/index.d.ts.map +1 -1
  83. package/lib/typescript/src/components/message-scroller/index.d.ts +150 -0
  84. package/lib/typescript/src/components/message-scroller/index.d.ts.map +1 -0
  85. package/lib/typescript/src/components/popover/index.d.ts +136 -0
  86. package/lib/typescript/src/components/popover/index.d.ts.map +1 -0
  87. package/lib/typescript/src/components/progress/index.d.ts +33 -0
  88. package/lib/typescript/src/components/progress/index.d.ts.map +1 -1
  89. package/lib/typescript/src/components/radio-group/index.d.ts +39 -0
  90. package/lib/typescript/src/components/radio-group/index.d.ts.map +1 -1
  91. package/lib/typescript/src/components/section-rail/index.d.ts +115 -0
  92. package/lib/typescript/src/components/section-rail/index.d.ts.map +1 -0
  93. package/lib/typescript/src/components/select/index.d.ts +46 -7
  94. package/lib/typescript/src/components/select/index.d.ts.map +1 -1
  95. package/lib/typescript/src/components/separator/index.d.ts +47 -0
  96. package/lib/typescript/src/components/separator/index.d.ts.map +1 -0
  97. package/lib/typescript/src/components/slider/index.d.ts +203 -0
  98. package/lib/typescript/src/components/slider/index.d.ts.map +1 -0
  99. package/lib/typescript/src/components/surface/index.d.ts +51 -2
  100. package/lib/typescript/src/components/surface/index.d.ts.map +1 -1
  101. package/lib/typescript/src/components/switch/index.d.ts.map +1 -1
  102. package/lib/typescript/src/components/tabs/index.d.ts +46 -4
  103. package/lib/typescript/src/components/tabs/index.d.ts.map +1 -1
  104. package/lib/typescript/src/components/toggle-button/index.d.ts +244 -0
  105. package/lib/typescript/src/components/toggle-button/index.d.ts.map +1 -0
  106. package/lib/typescript/src/hooks/index.d.ts +1 -0
  107. package/lib/typescript/src/hooks/index.d.ts.map +1 -1
  108. package/lib/typescript/src/hooks/use-keyboard-avoidance.d.ts +10 -1
  109. package/lib/typescript/src/hooks/use-keyboard-avoidance.d.ts.map +1 -1
  110. package/lib/typescript/src/hooks/use-scroll-sections.d.ts +31 -0
  111. package/lib/typescript/src/hooks/use-scroll-sections.d.ts.map +1 -0
  112. package/lib/typescript/src/icons/index.d.ts +6 -0
  113. package/lib/typescript/src/icons/index.d.ts.map +1 -1
  114. package/lib/typescript/src/index.d.ts +13 -4
  115. package/lib/typescript/src/index.d.ts.map +1 -1
  116. package/lib/typescript/src/native/index.d.ts +16 -1
  117. package/lib/typescript/src/native/index.d.ts.map +1 -1
  118. package/lib/typescript/src/primitives/keyboard-avoider.d.ts +8 -1
  119. package/lib/typescript/src/primitives/keyboard-avoider.d.ts.map +1 -1
  120. package/lib/typescript/src/primitives/scrim.d.ts +21 -0
  121. package/lib/typescript/src/primitives/scrim.d.ts.map +1 -0
  122. package/lib/typescript/src/utils/haptics.d.ts +12 -0
  123. package/lib/typescript/src/utils/haptics.d.ts.map +1 -0
  124. package/package.json +9 -1
  125. package/src/components/attachment/index.tsx +279 -0
  126. package/src/components/bottom-sheet/index.tsx +58 -2
  127. package/src/components/button/index.tsx +26 -5
  128. package/src/components/dialog/index.tsx +10 -1
  129. package/src/components/empty-state/index.tsx +60 -14
  130. package/src/components/frame/index.tsx +175 -29
  131. package/src/components/input/index.tsx +122 -16
  132. package/src/components/line-chart/index.tsx +1224 -0
  133. package/src/components/marker/index.tsx +194 -0
  134. package/src/components/message/index.tsx +29 -5
  135. package/src/components/message-scroller/index.tsx +574 -0
  136. package/src/components/popover/index.tsx +624 -0
  137. package/src/components/progress/index.tsx +81 -1
  138. package/src/components/radio-group/index.tsx +156 -18
  139. package/src/components/section-rail/index.tsx +459 -0
  140. package/src/components/select/index.tsx +265 -52
  141. package/src/components/separator/index.tsx +97 -0
  142. package/src/components/slider/index.tsx +371 -0
  143. package/src/components/surface/index.tsx +29 -3
  144. package/src/components/switch/index.tsx +8 -1
  145. package/src/components/tabs/index.tsx +208 -28
  146. package/src/components/toggle-button/index.tsx +374 -0
  147. package/src/hooks/index.ts +5 -0
  148. package/src/hooks/use-keyboard-avoidance.ts +73 -7
  149. package/src/hooks/use-scroll-sections.ts +127 -0
  150. package/src/icons/index.tsx +48 -0
  151. package/src/index.ts +97 -6
  152. package/src/native/index.ts +13 -1
  153. package/src/primitives/keyboard-avoider.tsx +9 -1
  154. package/src/primitives/scrim.tsx +95 -0
  155. package/src/utils/haptics.ts +63 -0
  156. package/theme.css +64 -2
  157. package/lib/module/components/inline-select/index.js +0 -284
  158. package/lib/module/components/inline-select/index.js.map +0 -1
  159. package/lib/typescript/src/components/inline-select/index.d.ts +0 -48
  160. package/lib/typescript/src/components/inline-select/index.d.ts.map +0 -1
  161. package/src/components/inline-select/index.tsx +0 -332
@@ -0,0 +1,136 @@
1
+ /**
2
+ * Popover — a panel anchored to the thing that opened it.
3
+ *
4
+ * A dialog takes the screen and asks to be dealt with; a popover stays next to
5
+ * its trigger and keeps the context around it visible. That difference is the
6
+ * whole reason both exist, and it is why this one is positioned rather than
7
+ * centred.
8
+ *
9
+ * ```tsx
10
+ * <Popover>
11
+ * <Popover.Trigger>
12
+ * <Button variant="outline">Options</Button>
13
+ * </Popover.Trigger>
14
+ * <Popover.Content placement="bottom" align="end">
15
+ * <Popover.Title>Export</Popover.Title>
16
+ * <Popover.Description>Choose a format.</Popover.Description>
17
+ * </Popover.Content>
18
+ * </Popover>
19
+ * ```
20
+ *
21
+ * Placement is a preference, not a promise. The trigger is measured in window
22
+ * coordinates when it is pressed, the panel measures itself on its first
23
+ * layout, and the two are reconciled against the safe area: a panel that would
24
+ * run off the bottom flips above the trigger, and one that would run off the
25
+ * side slides back inside. So `placement="bottom"` means *below, if below
26
+ * fits* — which is the only behaviour that survives a trigger near an edge.
27
+ *
28
+ * The first frame is rendered transparent, because the panel's own size is not
29
+ * known until it has laid out once. Without that it would appear at the origin
30
+ * and jump into place.
31
+ */
32
+ import { type ReactElement, type ReactNode } from 'react';
33
+ import { type ViewProps } from 'react-native';
34
+ import { type TextProps } from '../../primitives/text.js';
35
+ export type PopoverPlacement = 'top' | 'bottom' | 'left' | 'right';
36
+ export type PopoverAlign = 'start' | 'center' | 'end';
37
+ export type PopoverPresentation = 'popover' | 'bottom-sheet';
38
+ export interface PopoverProps {
39
+ children: ReactNode;
40
+ /** Controlled open state. */
41
+ open?: boolean;
42
+ onOpenChange?: (open: boolean) => void;
43
+ /** Initial state when uncontrolled. */
44
+ defaultOpen?: boolean;
45
+ /**
46
+ * `popover` is the anchored panel. `bottom-sheet` presents the content in a
47
+ * draggable sheet instead — better on a small screen, or when the content is
48
+ * a form rather than a menu. Placement, align and the arrow do not apply to a
49
+ * sheet.
50
+ */
51
+ presentation?: PopoverPresentation;
52
+ }
53
+ declare function PopoverRoot({ children, open, onOpenChange, defaultOpen, presentation, }: PopoverProps): import("react").JSX.Element;
54
+ export interface PopoverTriggerProps {
55
+ children: ReactElement<{
56
+ onPress?: (...args: unknown[]) => void;
57
+ }>;
58
+ }
59
+ /**
60
+ * Wraps its child and toggles the popover on press.
61
+ *
62
+ * The child is wrapped in a view rather than given a ref directly: the ref has
63
+ * to survive whatever the child is — a Button, a plain Pressable, an icon —
64
+ * and only a wrapper we own is guaranteed to be measurable.
65
+ */
66
+ declare function PopoverTrigger({ children }: PopoverTriggerProps): import("react").JSX.Element;
67
+ export interface PopoverContentProps extends ViewProps {
68
+ className?: string;
69
+ /** Preferred side of the trigger. Flipped when that side does not fit. */
70
+ placement?: PopoverPlacement;
71
+ /** Where the panel sits along the trigger's other axis. */
72
+ align?: PopoverAlign;
73
+ /** Gap between the trigger and the panel, in pixels. */
74
+ offset?: number;
75
+ /** Nudge along the alignment axis, in pixels. */
76
+ alignOffset?: number;
77
+ /**
78
+ * `content-fit` sizes to the content, `trigger` matches the trigger's width,
79
+ * `full` spans the safe area, and a number is that many pixels.
80
+ */
81
+ width?: number | 'trigger' | 'full' | 'content-fit';
82
+ /**
83
+ * Floor for the panel's width, in pixels. Worth setting with
84
+ * `width="trigger"`, where a narrow trigger would otherwise squeeze the
85
+ * content into a column.
86
+ */
87
+ minWidth?: number;
88
+ /** Tap outside the panel closes it. Default true. */
89
+ dismissible?: boolean;
90
+ /**
91
+ * Frost the background behind the panel instead of dimming it. Uses
92
+ * `expo-blur` when installed and falls back to the dimmed scrim when it is
93
+ * not, so it is safe to pass either way.
94
+ */
95
+ blur?: boolean;
96
+ children?: ReactNode;
97
+ }
98
+ declare function PopoverContent({ className, placement, align, offset, alignOffset, width, minWidth, dismissible, blur, children, onLayout: onLayoutProp, style, ...props }: PopoverContentProps): import("react").JSX.Element | null;
99
+ export interface PopoverArrowProps extends ViewProps {
100
+ className?: string;
101
+ }
102
+ /**
103
+ * A small square rotated into a diamond, half-buried under the panel so only
104
+ * the point shows. It needs the panel to have a border for its own two visible
105
+ * edges to line up with — without one it reads as a floating lozenge.
106
+ *
107
+ * It points at the trigger's centre, which the panel resolves and publishes:
108
+ * when `align` shifts the panel off-centre, or a clamp slides it back on
109
+ * screen, the arrow stays over the trigger rather than over the panel's middle.
110
+ */
111
+ declare function PopoverArrow({ className, style, ...props }: PopoverArrowProps): import("react").JSX.Element | null;
112
+ export interface PopoverCloseProps {
113
+ children: ReactElement<{
114
+ onPress?: (...args: unknown[]) => void;
115
+ }>;
116
+ }
117
+ /** Wraps its child and closes the popover on press. */
118
+ declare function PopoverClose({ children }: PopoverCloseProps): ReactElement<{
119
+ onPress?: (...args: unknown[]) => void;
120
+ }, string | import("react").JSXElementConstructor<any>>;
121
+ export declare const Popover: typeof PopoverRoot & {
122
+ Trigger: typeof PopoverTrigger;
123
+ Content: typeof PopoverContent;
124
+ Arrow: typeof PopoverArrow;
125
+ Title: {
126
+ ({ className, ...props }: TextProps): import("react").JSX.Element;
127
+ displayName: string;
128
+ };
129
+ Description: {
130
+ ({ className, ...props }: TextProps): import("react").JSX.Element;
131
+ displayName: string;
132
+ };
133
+ Close: typeof PopoverClose;
134
+ };
135
+ export {};
136
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/popover/index.tsx"],"names":[],"mappings":"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"}
@@ -35,6 +35,8 @@ declare const progressVariants: import("tailwind-variants").TVReturnType<{
35
35
  };
36
36
  };
37
37
  }, {
38
+ root: string;
39
+ header: string;
38
40
  track: string;
39
41
  indicator: string;
40
42
  }, undefined, {
@@ -72,6 +74,8 @@ declare const progressVariants: import("tailwind-variants").TVReturnType<{
72
74
  };
73
75
  };
74
76
  }, {
77
+ root: string;
78
+ header: string;
75
79
  track: string;
76
80
  indicator: string;
77
81
  }, import("tailwind-variants").TVReturnType<{
@@ -109,6 +113,8 @@ declare const progressVariants: import("tailwind-variants").TVReturnType<{
109
113
  };
110
114
  };
111
115
  }, {
116
+ root: string;
117
+ header: string;
112
118
  track: string;
113
119
  indicator: string;
114
120
  }, undefined, unknown, unknown, undefined>>;
@@ -121,11 +127,38 @@ export interface ProgressProps extends Omit<ViewProps, 'children'>, ProgressVari
121
127
  indeterminate?: boolean;
122
128
  /** Extra classes for the moving indicator. */
123
129
  indicatorClassName?: string;
130
+ /**
131
+ * Caption drawn above the track, on the left. Supplying it (or
132
+ * `showValueLabel`) wraps the bar in a header row; the track alone renders
133
+ * otherwise.
134
+ */
135
+ label?: string;
136
+ /**
137
+ * Draw the percentage above the track, on the right. Hidden while
138
+ * `indeterminate` — there is nothing meaningful to show.
139
+ */
140
+ showValueLabel?: boolean;
141
+ /**
142
+ * Text for the value label. Overrides the formatted percentage — use it for
143
+ * a byte count, a step tally, anything that is not a bare percent.
144
+ */
145
+ valueLabel?: string;
146
+ /**
147
+ * Format the value label as a fraction of the whole with `Intl.NumberFormat`
148
+ * — e.g. `{ style: 'currency', currency: 'USD' }`. Falls back to a rounded
149
+ * percent when omitted.
150
+ */
151
+ formatOptions?: Intl.NumberFormatOptions;
152
+ /** Extra classes for the label + value-label row. */
153
+ headerClassName?: string;
124
154
  }
125
155
  /**
126
156
  * Determinate or indeterminate progress bar. The fill width (determinate) and
127
157
  * the sliding bar (indeterminate) are both driven on the UI thread, so updates
128
158
  * never re-render past the value change itself.
159
+ *
160
+ * Pass `label` or `showValueLabel` to caption the bar with a header row; the
161
+ * bare track renders when neither is set, so existing call sites are untouched.
129
162
  */
130
163
  export declare const Progress: import("react").ForwardRefExoticComponent<ProgressProps & import("react").RefAttributes<View>>;
131
164
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/progress/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAA0B,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAW5E,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAM1D,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAuBpB,CAAC;AAEH,KAAK,oBAAoB,GAAG,YAAY,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAElE,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,EACjC,oBAAoB;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,8CAA8C;IAC9C,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AASD;;;;GAIG;AACH,eAAO,MAAM,QAAQ,gGA2EpB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/progress/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAA0B,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAW5E,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAQ1D,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAyBpB,CAAC;AAEH,KAAK,oBAAoB,GAAG,YAAY,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAElE,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,EACjC,oBAAoB;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,8CAA8C;IAC9C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;;OAIG;IACH,aAAa,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC;IACzC,qDAAqD;IACrD,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AA0BD;;;;;;;GAOG;AACH,eAAO,MAAM,QAAQ,gGA2GpB,CAAC"}
@@ -1,20 +1,59 @@
1
+ /**
2
+ * RadioGroup — one choice from a set.
3
+ *
4
+ * The group owns the value and hands each item its selected state through
5
+ * context, so an item is a thin pressable that reports its own value up and
6
+ * reads selection back down.
7
+ *
8
+ * Two shapes, chosen on the group and inherited by every item: `dot` is the
9
+ * classic label-beside-a-disc row; `card` turns the whole surface into the
10
+ * target — for pickable options where the disc is a confirmation rather than
11
+ * the thing you aim at. The card is the same treatment `Checkbox` offers, so a
12
+ * form mixing single- and multi-select choices reads as one family.
13
+ *
14
+ * ```tsx
15
+ * <RadioGroup value={plan} onValueChange={setPlan} variant="card">
16
+ * <RadioGroup.Item value="pro" label="Pro" description="For growing teams" />
17
+ * <RadioGroup.Item value="max" label="Max" description="Everything, uncapped" />
18
+ * </RadioGroup>
19
+ * ```
20
+ */
1
21
  import { type ReactNode } from 'react';
2
22
  import { View, type ViewProps } from 'react-native';
23
+ type RadioVariant = 'dot' | 'card';
24
+ type RadioOrientation = 'vertical' | 'horizontal';
3
25
  export interface RadioGroupProps extends ViewProps {
4
26
  className?: string;
5
27
  value?: string;
6
28
  onValueChange: (value: string) => void;
7
29
  disabled?: boolean;
30
+ /**
31
+ * `dot` is the label-beside-a-disc row. `card` makes the whole surface the
32
+ * target and highlights the selected option — for a plan picker or a
33
+ * settings choice where each option carries a description.
34
+ */
35
+ variant?: RadioVariant;
36
+ /**
37
+ * `horizontal` lays the options out along a row that wraps — for two or
38
+ * three short choices, where a stacked list wastes the width and reads as
39
+ * longer than it is.
40
+ */
41
+ orientation?: RadioOrientation;
8
42
  children: ReactNode;
9
43
  }
10
44
  export interface RadioGroupItemProps {
11
45
  className?: string;
12
46
  value: string;
13
47
  label?: string;
48
+ /** Secondary line under the label. Most at home in the `card` variant. */
49
+ description?: string;
14
50
  disabled?: boolean;
51
+ /** Hide the disc entirely — for a card whose selected fill is enough. */
52
+ hideIndicator?: boolean;
15
53
  children?: ReactNode;
16
54
  }
17
55
  export declare const RadioGroup: import("react").ForwardRefExoticComponent<RadioGroupProps & import("react").RefAttributes<View>> & {
18
56
  Item: import("react").ForwardRefExoticComponent<RadioGroupItemProps & import("react").RefAttributes<View>>;
19
57
  };
58
+ export type { RadioVariant };
20
59
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/radio-group/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAa,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAkB/D,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAyBD,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAoDD,eAAO,MAAM,UAAU;;CAErB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/radio-group/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAAa,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAW/D,KAAK,YAAY,GAAG,KAAK,GAAG,MAAM,CAAC;AACnC,KAAK,gBAAgB,GAAG,UAAU,GAAG,YAAY,CAAC;AA2DlD,MAAM,WAAW,eAAgB,SAAQ,SAAS;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB;;;;OAIG;IACH,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,QAAQ,EAAE,SAAS,CAAC;CACrB;AA6CD,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,yEAAyE;IACzE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AA+ED,eAAO,MAAM,UAAU;;CAErB,CAAC;AAEH,YAAY,EAAE,YAAY,EAAE,CAAC"}
@@ -0,0 +1,115 @@
1
+ /**
2
+ * SectionRail — a floating navigator for a long screen.
3
+ *
4
+ * A stack of short bars pinned to one edge, one per section, that expands into
5
+ * a labelled panel when you touch it. Collapsed it is a position indicator you
6
+ * can read at a glance without giving up any content width; expanded it is a
7
+ * list you can jump from.
8
+ *
9
+ * The bars are deliberately unlabelled. A permanent list of section titles
10
+ * down the side of a phone screen is either too small to read or too wide to
11
+ * keep — the bars carry only the two things that survive at that size, which
12
+ * section you are in and roughly how deep it sits.
13
+ *
14
+ * ```tsx
15
+ * <SectionRail value={active} onValueChange={scrollTo}>
16
+ * <SectionRail.Trigger>
17
+ * <SectionRail.Bar value="intro" />
18
+ * <SectionRail.Bar value="setup" level={1} />
19
+ * </SectionRail.Trigger>
20
+ * <SectionRail.Content>
21
+ * <SectionRail.Item value="intro">Introduction</SectionRail.Item>
22
+ * <SectionRail.Item value="setup" level={1}>Setup</SectionRail.Item>
23
+ * </SectionRail.Content>
24
+ * </SectionRail>
25
+ * ```
26
+ *
27
+ * It floats: the root is absolutely positioned and lets touches through
28
+ * everywhere it is not drawing, so the content underneath still scrolls.
29
+ */
30
+ import { type ReactNode } from 'react';
31
+ import { type ViewProps } from 'react-native';
32
+ export type SectionRailPlacement = 'left' | 'right';
33
+ export type SectionRailAlign = 'center' | 'top' | 'bottom';
34
+ export interface SectionRailProps extends ViewProps {
35
+ className?: string;
36
+ /** Which edge the rail sits against. */
37
+ placement?: SectionRailPlacement;
38
+ /**
39
+ * Where along that edge it sits. `bottom` puts it in a corner, out of the
40
+ * way of the text — the panel then opens upward from the rail rather than
41
+ * centred on the screen.
42
+ */
43
+ align?: SectionRailAlign;
44
+ /**
45
+ * Tick under the finger on every change of section, however it was made —
46
+ * tapped in the panel, or scrolled past. Needs the optional `expo-haptics`
47
+ * package; without it this does nothing.
48
+ */
49
+ haptics?: boolean;
50
+ /** Active section id. Controlled — usually driven by a scroll handler. */
51
+ value?: string;
52
+ /** Starting section when uncontrolled. */
53
+ defaultValue?: string;
54
+ /** Fires when a section is chosen from the expanded panel. */
55
+ onValueChange?: (value: string) => void;
56
+ /** Controlled expansion. */
57
+ open?: boolean;
58
+ defaultOpen?: boolean;
59
+ onOpenChange?: (open: boolean) => void;
60
+ /**
61
+ * How long the panel stays up after a choice, so a mis-tap can be corrected
62
+ * without opening it again. Set 0 to close immediately.
63
+ */
64
+ closeDelay?: number;
65
+ /** Gap between the rail and the edge of the safe area. */
66
+ offset?: number;
67
+ children: ReactNode;
68
+ }
69
+ declare function SectionRailRoot({ className, placement, align, haptics, value: valueProp, defaultValue, onValueChange, open: openProp, defaultOpen, onOpenChange, closeDelay, offset, children, ...props }: SectionRailProps): import("react").JSX.Element;
70
+ export interface SectionRailTriggerProps extends ViewProps {
71
+ className?: string;
72
+ children: ReactNode;
73
+ }
74
+ /**
75
+ * The collapsed rail. Wraps the bars and opens the panel on press — one target
76
+ * over the whole stack rather than one per bar, because a 3px bar is not
77
+ * something anyone can hit.
78
+ */
79
+ declare function SectionRailTrigger({ className, children, ...props }: SectionRailTriggerProps): import("react").JSX.Element;
80
+ export interface SectionRailBarProps {
81
+ className?: string;
82
+ /** Section this bar stands for. Matches the root's `value`. */
83
+ value: string;
84
+ /** Nesting depth. Deeper levels draw a shorter bar. */
85
+ level?: number;
86
+ }
87
+ /** One section, drawn as a bar. Widens and brightens when it is the active one. */
88
+ declare function SectionRailBar({ className, value, level }: SectionRailBarProps): import("react").JSX.Element;
89
+ export interface SectionRailContentProps extends ViewProps {
90
+ className?: string;
91
+ children: ReactNode;
92
+ }
93
+ /**
94
+ * The expanded panel. Mounted through a portal so it floats over everything,
95
+ * and unmounted after it fades out rather than left behind hidden.
96
+ */
97
+ declare function SectionRailContent({ className, children, ...props }: SectionRailContentProps): import("react").JSX.Element | null;
98
+ export interface SectionRailItemProps {
99
+ className?: string;
100
+ /** Section this row jumps to. Matches the root's `value`. */
101
+ value: string;
102
+ /** Nesting depth. Indents the row to match its bar. */
103
+ level?: number;
104
+ children: ReactNode;
105
+ }
106
+ /** A labelled row in the expanded panel. */
107
+ declare function SectionRailItem({ className, value, level, children }: SectionRailItemProps): import("react").JSX.Element;
108
+ export declare const SectionRail: typeof SectionRailRoot & {
109
+ Trigger: typeof SectionRailTrigger;
110
+ Bar: typeof SectionRailBar;
111
+ Content: typeof SectionRailContent;
112
+ Item: typeof SectionRailItem;
113
+ };
114
+ export {};
115
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/section-rail/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AA0B3E,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,OAAO,CAAC;AACpD,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,CAAC;AA6B3D,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wCAAwC;IACxC,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC;;;;OAIG;IACH,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0EAA0E;IAC1E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,4BAA4B;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,iBAAS,eAAe,CAAC,EACvB,SAAS,EACT,SAAmB,EACnB,KAAgB,EAChB,OAAe,EACf,KAAK,EAAE,SAAS,EAChB,YAAY,EACZ,aAAa,EACb,IAAI,EAAE,QAAQ,EACd,WAAmB,EACnB,YAAY,EACZ,UAAgB,EAChB,MAAW,EACX,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,gBAAgB,+BAsGlB;AAED,MAAM,WAAW,uBAAwB,SAAQ,SAAS;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;GAIG;AACH,iBAAS,kBAAkB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,uBAAuB,+BAqBrF;AAED,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,mFAAmF;AACnF,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,KAAS,EAAE,EAAE,mBAAmB,+BAiC3E;AAED,MAAM,WAAW,uBAAwB,SAAQ,SAAS;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;GAGG;AACH,iBAAS,kBAAkB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,uBAAuB,sCAuCrF;AAwCD,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAC;IACd,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,4CAA4C;AAC5C,iBAAS,eAAe,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,KAAS,EAAE,QAAQ,EAAE,EAAE,oBAAoB,+BA0BvF;AAED,eAAO,MAAM,WAAW;;;;;CAKtB,CAAC"}
@@ -1,26 +1,65 @@
1
+ /**
2
+ * Select — a picker with one trigger and three ways of showing its options.
3
+ *
4
+ * Which one is right depends on what surrounds the trigger, not on what the
5
+ * options are, which is why it is a prop rather than three components:
6
+ *
7
+ * - `sheet` (default) takes the bottom of the screen. Best for a long list, or
8
+ * on a small screen where an anchored panel would cover the thing you are
9
+ * choosing for.
10
+ * - `inline` expands the list in normal layout flow. Everything below moves
11
+ * down. Right inside a settings list, where that reads as the row growing;
12
+ * wrong anywhere the shift is jarring.
13
+ * - `overlay` floats the list above the page through a portal, anchored to the
14
+ * trigger and flipped above it when there is no room below. Nothing else on
15
+ * the screen moves.
16
+ *
17
+ * ```tsx
18
+ * <Select value={region} onValueChange={setRegion} presentation="overlay">
19
+ * <Select.Item value="us" label="United States" />
20
+ * <Select.Item value="eu" label="Europe" />
21
+ * </Select>
22
+ * ```
23
+ */
1
24
  import { type ReactNode } from 'react';
25
+ export type SelectPresentation = 'sheet' | 'inline' | 'overlay';
2
26
  export interface SelectItemProps {
3
27
  value: string;
4
28
  label: string;
5
29
  }
6
- /** Declarative option. Rendered inside the picker sheet. */
30
+ /** Declarative option. Rendered inside whichever surface is presenting. */
7
31
  declare function SelectItem({ value, label }: SelectItemProps): import("react").JSX.Element;
8
32
  export interface SelectProps {
9
33
  className?: string;
10
34
  value?: string;
11
35
  onValueChange: (value: string) => void;
12
36
  placeholder?: string;
13
- /** Sheet title shown above the options. */
14
- title?: string;
15
37
  disabled?: boolean;
16
38
  /**
17
- * Render the platform's own picker instead of the trigger-and-sheet pair.
39
+ * Where the options appear. `sheet` takes the bottom of the screen, `inline`
40
+ * expands the list in layout flow, `overlay` floats it above the page
41
+ * anchored to the trigger.
42
+ */
43
+ presentation?: SelectPresentation;
44
+ /** Sheet title shown above the options. `sheet` presentation only. */
45
+ title?: string;
46
+ /**
47
+ * Width of the floating list. `trigger` matches the trigger, `content` sizes
48
+ * to the longest option, or pass a pixel value. `overlay` only.
49
+ */
50
+ contentWidth?: 'trigger' | 'content' | number;
51
+ /** Gap between the trigger and the floating list. `overlay` only. */
52
+ offset?: number;
53
+ /** Called when the options open or close. */
54
+ onOpenChange?: (open: boolean) => void;
55
+ /**
56
+ * Render the platform's own picker instead of the trigger-and-list pair.
18
57
  * Requires the optional `@expo/ui` package; without it this prop does
19
58
  * nothing.
20
59
  *
21
60
  * **Theme tokens do not apply** — the platform draws the picker, so
22
- * `className` and `title` are ignored. `Select.Item` children still declare
23
- * the options.
61
+ * `className`, `title` and `presentation` are ignored. `Select.Item`
62
+ * children still declare the options.
24
63
  */
25
64
  native?: boolean;
26
65
  /**
@@ -30,7 +69,7 @@ export interface SelectProps {
30
69
  nativeAppearance?: 'menu' | 'wheel';
31
70
  children: ReactNode;
32
71
  }
33
- declare function SelectRoot({ className, value, onValueChange, placeholder, title, disabled, native, nativeAppearance, children, }: SelectProps): import("react").JSX.Element;
72
+ declare function SelectRoot({ className, value, onValueChange, placeholder, disabled, presentation, title, contentWidth, offset, onOpenChange, native, nativeAppearance, children, }: SelectProps): import("react").JSX.Element;
34
73
  export declare const Select: typeof SelectRoot & {
35
74
  Item: typeof SelectItem;
36
75
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/select/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAoCf,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,4DAA4D;AAC5D,iBAAS,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,eAAe,+BA4BpD;AAED,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,KAAK,EACL,aAAa,EACb,WAAgC,EAChC,KAAK,EACL,QAAQ,EACR,MAAM,EACN,gBAAyB,EACzB,QAAQ,GACT,EAAE,WAAW,+BA+Fb;AAED,eAAO,MAAM,MAAM;;CAEjB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/select/index.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,OAAO,EASL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAsDf,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AAiBhE,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,2EAA2E;AAC3E,iBAAS,UAAU,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,eAAe,+BA4BpD;AAUD,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;OAIG;IACH,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAClC,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,YAAY,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;IAC9C,qEAAqE;IACrE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6CAA6C;IAC7C,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,iBAAS,UAAU,CAAC,EAClB,SAAS,EACT,KAAK,EACL,aAAa,EACb,WAAgC,EAChC,QAAQ,EACR,YAAsB,EACtB,KAAK,EACL,YAAwB,EACxB,MAAU,EACV,YAAY,EACZ,MAAM,EACN,gBAAyB,EACzB,QAAQ,GACT,EAAE,WAAW,+BA8Nb;AAED,eAAO,MAAM,MAAM;;CAEjB,CAAC"}
@@ -0,0 +1,47 @@
1
+ import { View, type ViewProps } from 'react-native';
2
+ import { type VariantProps } from 'tailwind-variants';
3
+ declare const separatorVariants: import("tailwind-variants").TVReturnType<{
4
+ orientation: {
5
+ horizontal: string;
6
+ vertical: string;
7
+ };
8
+ variant: {
9
+ thin: string;
10
+ thick: string;
11
+ };
12
+ }, undefined, "bg-border", {
13
+ orientation: {
14
+ horizontal: string;
15
+ vertical: string;
16
+ };
17
+ variant: {
18
+ thin: string;
19
+ thick: string;
20
+ };
21
+ }, undefined, import("tailwind-variants").TVReturnType<{
22
+ orientation: {
23
+ horizontal: string;
24
+ vertical: string;
25
+ };
26
+ variant: {
27
+ thin: string;
28
+ thick: string;
29
+ };
30
+ }, undefined, "bg-border", unknown, unknown, undefined>>;
31
+ export interface SeparatorProps extends ViewProps, VariantProps<typeof separatorVariants> {
32
+ className?: string;
33
+ /**
34
+ * Thickness in pixels, overriding the variant. Sets the height of a
35
+ * horizontal separator and the width of a vertical one.
36
+ */
37
+ thickness?: number;
38
+ /**
39
+ * Whether the separator is only visual. A decorative separator is skipped by
40
+ * screen readers; set false when the split itself carries meaning — between
41
+ * two groups of menu items, say — and it is announced instead.
42
+ */
43
+ decorative?: boolean;
44
+ }
45
+ export declare const Separator: import("react").ForwardRefExoticComponent<SeparatorProps & import("react").RefAttributes<View>>;
46
+ export {};
47
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/separator/index.tsx"],"names":[],"mappings":"AAmBA,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAM,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE1D,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;wDAwBrB,CAAC;AAEH,MAAM,WAAW,cACf,SAAQ,SAAS,EACf,YAAY,CAAC,OAAO,iBAAiB,CAAC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,SAAS,iGA6BrB,CAAC"}