@cdx-ui/components 0.0.1-alpha.20 → 0.0.1-alpha.22

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 (50) hide show
  1. package/lib/commonjs/components/BottomSheet/index.js +248 -0
  2. package/lib/commonjs/components/BottomSheet/index.js.map +1 -0
  3. package/lib/commonjs/components/BottomSheet/styles.js +61 -0
  4. package/lib/commonjs/components/BottomSheet/styles.js.map +1 -0
  5. package/lib/commonjs/components/Link/index.js +58 -2
  6. package/lib/commonjs/components/Link/index.js.map +1 -1
  7. package/lib/commonjs/components/Link/styles.js +4 -2
  8. package/lib/commonjs/components/Link/styles.js.map +1 -1
  9. package/lib/commonjs/components/ProgressSegmented/index.js +62 -0
  10. package/lib/commonjs/components/ProgressSegmented/index.js.map +1 -0
  11. package/lib/commonjs/components/ProgressSegmented/styles.js +21 -0
  12. package/lib/commonjs/components/ProgressSegmented/styles.js.map +1 -0
  13. package/lib/commonjs/components/index.js +24 -0
  14. package/lib/commonjs/components/index.js.map +1 -1
  15. package/lib/module/components/BottomSheet/index.js +242 -0
  16. package/lib/module/components/BottomSheet/index.js.map +1 -0
  17. package/lib/module/components/BottomSheet/styles.js +58 -0
  18. package/lib/module/components/BottomSheet/styles.js.map +1 -0
  19. package/lib/module/components/Link/index.js +60 -4
  20. package/lib/module/components/Link/index.js.map +1 -1
  21. package/lib/module/components/Link/styles.js +4 -2
  22. package/lib/module/components/Link/styles.js.map +1 -1
  23. package/lib/module/components/ProgressSegmented/index.js +58 -0
  24. package/lib/module/components/ProgressSegmented/index.js.map +1 -0
  25. package/lib/module/components/ProgressSegmented/styles.js +17 -0
  26. package/lib/module/components/ProgressSegmented/styles.js.map +1 -0
  27. package/lib/module/components/index.js +2 -0
  28. package/lib/module/components/index.js.map +1 -1
  29. package/lib/typescript/components/BottomSheet/index.d.ts +61 -0
  30. package/lib/typescript/components/BottomSheet/index.d.ts.map +1 -0
  31. package/lib/typescript/components/BottomSheet/styles.d.ts +16 -0
  32. package/lib/typescript/components/BottomSheet/styles.d.ts.map +1 -0
  33. package/lib/typescript/components/Link/index.d.ts +20 -2
  34. package/lib/typescript/components/Link/index.d.ts.map +1 -1
  35. package/lib/typescript/components/Link/styles.d.ts +2 -0
  36. package/lib/typescript/components/Link/styles.d.ts.map +1 -1
  37. package/lib/typescript/components/ProgressSegmented/index.d.ts +15 -0
  38. package/lib/typescript/components/ProgressSegmented/index.d.ts.map +1 -0
  39. package/lib/typescript/components/ProgressSegmented/styles.d.ts +8 -0
  40. package/lib/typescript/components/ProgressSegmented/styles.d.ts.map +1 -0
  41. package/lib/typescript/components/index.d.ts +2 -0
  42. package/lib/typescript/components/index.d.ts.map +1 -1
  43. package/package.json +5 -4
  44. package/src/components/BottomSheet/index.tsx +316 -0
  45. package/src/components/BottomSheet/styles.ts +79 -0
  46. package/src/components/Link/index.tsx +61 -5
  47. package/src/components/Link/styles.ts +7 -3
  48. package/src/components/ProgressSegmented/index.tsx +81 -0
  49. package/src/components/ProgressSegmented/styles.ts +19 -0
  50. package/src/components/index.ts +2 -0
@@ -0,0 +1,242 @@
1
+ "use strict";
2
+
3
+ import React, { forwardRef, useCallback, useRef } from 'react';
4
+ import { Dimensions, Pressable, View } from 'react-native';
5
+ import { useSafeAreaInsets } from 'react-native-safe-area-context';
6
+ import { BottomSheetModal, BottomSheetModalProvider, BottomSheetScrollView, BottomSheetView, BottomSheetBackdrop, BottomSheetFooter as GorhomBottomSheetFooter } from '@gorhom/bottom-sheet';
7
+ import { cn } from '@cdx-ui/utils';
8
+ import { ArrowBackIosNew, Close } from '@cdx-ui/icons';
9
+ import { Heading } from '../Heading';
10
+ import { Icon } from '../Icon';
11
+ import { Text } from '../Text';
12
+ import { bottomSheetBackButtonVariants, bottomSheetBackIconVariants, bottomSheetCloseButtonVariants, bottomSheetCloseIconVariants, bottomSheetContainerVariants, bottomSheetContentVariants, bottomSheetFooterVariants, bottomSheetHeaderVariants, bottomSheetSubtitleVariants, handleIndicatorStyle } from './styles';
13
+
14
+ /** Ref type for BottomSheet; forwards the @gorhom modal ref (present, dismiss, snapToIndex, minimize, restore, etc.). */
15
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
16
+ function BottomSheetHeaderComponent({
17
+ title,
18
+ subtitle,
19
+ children,
20
+ className,
21
+ onClose,
22
+ closeAccessibilityLabel,
23
+ onBack,
24
+ backAccessibilityLabel = 'Go back'
25
+ }, ref) {
26
+ const hasTitle = title !== undefined && title !== '';
27
+ const hasContent = hasTitle || !!children || !!onBack;
28
+ const computedClassName = cn(bottomSheetHeaderVariants({
29
+ hasTitle: hasContent
30
+ }), className);
31
+ return /*#__PURE__*/_jsxs(View, {
32
+ ref: ref,
33
+ className: computedClassName,
34
+ children: [onBack && /*#__PURE__*/_jsx(Pressable, {
35
+ onPress: onBack,
36
+ hitSlop: 12,
37
+ accessibilityRole: "button",
38
+ accessibilityLabel: backAccessibilityLabel,
39
+ className: cn(bottomSheetBackButtonVariants()),
40
+ children: /*#__PURE__*/_jsx(Icon, {
41
+ as: ArrowBackIosNew,
42
+ className: bottomSheetBackIconVariants()
43
+ })
44
+ }), /*#__PURE__*/_jsx(View, {
45
+ className: "flex-1",
46
+ children: children ?? (hasTitle ? /*#__PURE__*/_jsxs(View, {
47
+ children: [/*#__PURE__*/_jsx(Heading, {
48
+ size: "xs",
49
+ className: "text-lg",
50
+ children: title
51
+ }), subtitle ? /*#__PURE__*/_jsx(Text, {
52
+ className: bottomSheetSubtitleVariants(),
53
+ children: subtitle
54
+ }) : null]
55
+ }) : null)
56
+ }), onClose && /*#__PURE__*/_jsx(BottomSheetCloseButton, {
57
+ onPress: onClose,
58
+ ...(closeAccessibilityLabel !== undefined && {
59
+ accessibilityLabel: closeAccessibilityLabel
60
+ })
61
+ })]
62
+ });
63
+ }
64
+ BottomSheetHeaderComponent.displayName = 'BottomSheet.Header';
65
+ const BottomSheetHeader = /*#__PURE__*/forwardRef(BottomSheetHeaderComponent);
66
+ BottomSheetHeader.displayName = 'BottomSheet.Header';
67
+
68
+ // =============================================================================
69
+ // CLOSEBUTTON
70
+ // =============================================================================
71
+
72
+ function BottomSheetCloseButton({
73
+ onPress,
74
+ className,
75
+ accessibilityLabel = 'Close'
76
+ }) {
77
+ return /*#__PURE__*/_jsx(Pressable, {
78
+ onPress: onPress,
79
+ hitSlop: 12,
80
+ accessibilityRole: "button",
81
+ accessibilityLabel: accessibilityLabel,
82
+ className: cn(bottomSheetCloseButtonVariants(), className),
83
+ children: /*#__PURE__*/_jsx(Icon, {
84
+ as: Close,
85
+ className: bottomSheetCloseIconVariants()
86
+ })
87
+ });
88
+ }
89
+ BottomSheetCloseButton.displayName = 'BottomSheet.CloseButton';
90
+
91
+ // =============================================================================
92
+ // CONTENT
93
+ // =============================================================================
94
+
95
+ const BottomSheetContent = /*#__PURE__*/forwardRef(({
96
+ children,
97
+ className,
98
+ hasSafeAreaInset,
99
+ style
100
+ }, ref) => {
101
+ const insets = useSafeAreaInsets();
102
+ const computedClassName = cn(bottomSheetContentVariants(), className);
103
+ return /*#__PURE__*/_jsx(View, {
104
+ ref: ref,
105
+ className: computedClassName,
106
+ style: hasSafeAreaInset ? {
107
+ paddingBottom: insets.bottom,
108
+ ...style
109
+ } : style,
110
+ pointerEvents: "box-none",
111
+ children: children
112
+ });
113
+ });
114
+ BottomSheetContent.displayName = 'BottomSheet.Content';
115
+
116
+ // =============================================================================
117
+ // FOOTER
118
+ // =============================================================================
119
+
120
+ const BottomSheetFooter = /*#__PURE__*/forwardRef(({
121
+ children,
122
+ className,
123
+ style
124
+ }, ref) => {
125
+ const insets = useSafeAreaInsets();
126
+ const computedClassName = cn(bottomSheetFooterVariants(), className);
127
+ return /*#__PURE__*/_jsx(View, {
128
+ ref: ref,
129
+ className: computedClassName,
130
+ style: {
131
+ paddingBottom: Math.max(insets.bottom, 24),
132
+ ...style
133
+ },
134
+ pointerEvents: "box-none",
135
+ children: children
136
+ });
137
+ });
138
+ BottomSheetFooter.displayName = 'BottomSheet.Footer';
139
+
140
+ // =============================================================================
141
+ // MODAL WRAPPER (WITH STYLES)
142
+ // =============================================================================
143
+
144
+ const MAX_DYNAMIC_CONTENT_SIZE = Dimensions.get('window').height * 0.9;
145
+ const CustomBackdrop = props => {
146
+ return /*#__PURE__*/_jsx(BottomSheetBackdrop, {
147
+ ...props,
148
+ disappearsOnIndex: -1,
149
+ appearsOnIndex: 0,
150
+ opacity: 0.5,
151
+ pressBehavior: "close"
152
+ });
153
+ };
154
+ const BottomSheetModalStyled = /*#__PURE__*/forwardRef(({
155
+ handleVisible = true,
156
+ footer,
157
+ ...rest
158
+ }, ref) => {
159
+ const renderFooter = useCallback(props => /*#__PURE__*/_jsx(GorhomBottomSheetFooter, {
160
+ ...props,
161
+ children: footer
162
+ }), [footer]);
163
+ return /*#__PURE__*/_jsx(BottomSheetModal, {
164
+ ref: ref,
165
+ enableDynamicSizing: true,
166
+ maxDynamicContentSize: MAX_DYNAMIC_CONTENT_SIZE,
167
+ handleComponent: handleVisible ? undefined : null,
168
+ handleIndicatorStyle: handleVisible ? handleIndicatorStyle : undefined,
169
+ backdropComponent: CustomBackdrop,
170
+ backgroundComponent: backgroundProps => /*#__PURE__*/_jsx(View, {
171
+ ...backgroundProps,
172
+ className: cn(bottomSheetContainerVariants())
173
+ }),
174
+ ...rest,
175
+ ...(footer != null && {
176
+ footerComponent: renderFooter
177
+ })
178
+ });
179
+ });
180
+ BottomSheetModalStyled.displayName = 'BottomSheet.Modal';
181
+
182
+ // =============================================================================
183
+ // SCROLLVIEW WRAPPER (with footer margin adjustment enabled by default)
184
+ // =============================================================================
185
+
186
+ function BottomSheetScrollViewStyled({
187
+ enableFooterMarginAdjustment = true,
188
+ children,
189
+ ...rest
190
+ }) {
191
+ return /*#__PURE__*/_jsx(BottomSheetScrollView, {
192
+ enableFooterMarginAdjustment: enableFooterMarginAdjustment,
193
+ ...rest,
194
+ children: children
195
+ });
196
+ }
197
+ BottomSheetScrollViewStyled.displayName = 'BottomSheet.ScrollView';
198
+
199
+ // =============================================================================
200
+ // VIEW WRAPPER (with footer margin adjustment enabled by default)
201
+ // =============================================================================
202
+
203
+ function BottomSheetViewStyled({
204
+ enableFooterMarginAdjustment = true,
205
+ children,
206
+ ...rest
207
+ }) {
208
+ return /*#__PURE__*/_jsx(BottomSheetView, {
209
+ enableFooterMarginAdjustment: enableFooterMarginAdjustment,
210
+ ...rest,
211
+ children: children
212
+ });
213
+ }
214
+ BottomSheetViewStyled.displayName = 'BottomSheet.View';
215
+
216
+ // Display names for gorhom components exposed as BottomSheet.*
217
+
218
+ BottomSheetModalProvider.displayName = 'BottomSheet.Provider';
219
+
220
+ // ── Public exports ────────────────────────────────────────
221
+
222
+ export const BottomSheet = {
223
+ Modal: BottomSheetModalStyled,
224
+ Header: BottomSheetHeader,
225
+ Content: BottomSheetContent,
226
+ Footer: BottomSheetFooter,
227
+ Provider: BottomSheetModalProvider,
228
+ ScrollView: BottomSheetScrollViewStyled,
229
+ View: BottomSheetViewStyled
230
+ };
231
+
232
+ // ── Hooks ────────────────────────────────────────────────
233
+
234
+ export function useBottomSheet() {
235
+ const ref = useRef(null);
236
+ return {
237
+ ref,
238
+ present: () => ref.current?.present(),
239
+ dismiss: () => ref.current?.dismiss()
240
+ };
241
+ }
242
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","forwardRef","useCallback","useRef","Dimensions","Pressable","View","useSafeAreaInsets","BottomSheetModal","BottomSheetModalProvider","BottomSheetScrollView","BottomSheetView","BottomSheetBackdrop","BottomSheetFooter","GorhomBottomSheetFooter","cn","ArrowBackIosNew","Close","Heading","Icon","Text","bottomSheetBackButtonVariants","bottomSheetBackIconVariants","bottomSheetCloseButtonVariants","bottomSheetCloseIconVariants","bottomSheetContainerVariants","bottomSheetContentVariants","bottomSheetFooterVariants","bottomSheetHeaderVariants","bottomSheetSubtitleVariants","handleIndicatorStyle","jsx","_jsx","jsxs","_jsxs","BottomSheetHeaderComponent","title","subtitle","children","className","onClose","closeAccessibilityLabel","onBack","backAccessibilityLabel","ref","hasTitle","undefined","hasContent","computedClassName","onPress","hitSlop","accessibilityRole","accessibilityLabel","as","size","BottomSheetCloseButton","displayName","BottomSheetHeader","BottomSheetContent","hasSafeAreaInset","style","insets","paddingBottom","bottom","pointerEvents","Math","max","MAX_DYNAMIC_CONTENT_SIZE","get","height","CustomBackdrop","props","disappearsOnIndex","appearsOnIndex","opacity","pressBehavior","BottomSheetModalStyled","handleVisible","footer","rest","renderFooter","enableDynamicSizing","maxDynamicContentSize","handleComponent","backdropComponent","backgroundComponent","backgroundProps","footerComponent","BottomSheetScrollViewStyled","enableFooterMarginAdjustment","BottomSheetViewStyled","BottomSheet","Modal","Header","Content","Footer","Provider","ScrollView","useBottomSheet","present","current","dismiss"],"sourceRoot":"../../../../src","sources":["components/BottomSheet/index.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ import { cva } from 'class-variance-authority';
4
+ import { COLOR_BG_PRIMARY, COLOR_BORDER_DEFAULT, COLOR_TEXT_PRIMARY, COLOR_TEXT_SECONDARY } from '../../styles/primitives';
5
+
6
+ // ── Container ──────────────────────────────────────────────
7
+
8
+ export const bottomSheetContainerVariants = cva(['rounded-t-3xl border-t border-x overflow-hidden', COLOR_BG_PRIMARY, COLOR_BORDER_DEFAULT]);
9
+
10
+ // ── Header ─────────────────────────────────────────────────
11
+
12
+ export const bottomSheetHeaderVariants = cva(['flex-row items-center justify-between min-h-12 px-4 pt-3 pb-2', COLOR_BG_PRIMARY, COLOR_TEXT_PRIMARY], {
13
+ variants: {
14
+ hasTitle: {
15
+ true: '',
16
+ false: 'justify-end'
17
+ }
18
+ },
19
+ defaultVariants: {
20
+ hasTitle: true
21
+ }
22
+ });
23
+
24
+ // ── Content ────────────────────────────────────────────────
25
+
26
+ export const bottomSheetContentVariants = cva([COLOR_BG_PRIMARY, 'px-4 pb-6']);
27
+
28
+ // ── Footer ─────────────────────────────────────────────────
29
+
30
+ export const bottomSheetFooterVariants = cva(['px-4 pt-3 pb-4 border-t', COLOR_BG_PRIMARY, COLOR_BORDER_DEFAULT]);
31
+
32
+ // ── Subtitle ────────────────────────────────────────────────
33
+
34
+ export const bottomSheetSubtitleVariants = cva(['text-sm', COLOR_TEXT_SECONDARY]);
35
+
36
+ // ── Back Button ─────────────────────────────────────────────
37
+
38
+ export const bottomSheetBackButtonVariants = cva(['p-1 -m-1 mr-2 rounded-full active:opacity-70']);
39
+ export const bottomSheetBackIconVariants = cva(['size-5 text-slate-500']);
40
+
41
+ // ── Close Button ───────────────────────────────────────────
42
+
43
+ export const bottomSheetCloseButtonVariants = cva(['p-1 -m-1 rounded-full active:opacity-70']);
44
+
45
+ // ── Close Icon ─────────────────────────────────────────────
46
+
47
+ export const bottomSheetCloseIconVariants = cva(['size-5 text-slate-500']);
48
+
49
+ // ── Handle indicator ────────────────────────────────────────
50
+ // Plain ViewStyle — gorhom's handleIndicatorStyle doesn't accept classNames.
51
+ // slate-300 (#cbd5e1) maps to COLOR_BORDER_STRONG; update when raw token palette is available (TODO).
52
+ export const handleIndicatorStyle = {
53
+ backgroundColor: '#cbd5e1',
54
+ width: 36,
55
+ height: 4,
56
+ borderRadius: 2
57
+ };
58
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["cva","COLOR_BG_PRIMARY","COLOR_BORDER_DEFAULT","COLOR_TEXT_PRIMARY","COLOR_TEXT_SECONDARY","bottomSheetContainerVariants","bottomSheetHeaderVariants","variants","hasTitle","true","false","defaultVariants","bottomSheetContentVariants","bottomSheetFooterVariants","bottomSheetSubtitleVariants","bottomSheetBackButtonVariants","bottomSheetBackIconVariants","bottomSheetCloseButtonVariants","bottomSheetCloseIconVariants","handleIndicatorStyle","backgroundColor","width","height","borderRadius"],"sourceRoot":"../../../../src","sources":["components/BottomSheet/styles.ts"],"mappings":";;AACA,SAASA,GAAG,QAA2B,0BAA0B;AACjE,SACEC,gBAAgB,EAChBC,oBAAoB,EACpBC,kBAAkB,EAClBC,oBAAoB,QACf,yBAAyB;;AAEhC;;AAEA,OAAO,MAAMC,4BAA4B,GAAGL,GAAG,CAAC,CAC9C,iDAAiD,EACjDC,gBAAgB,EAChBC,oBAAoB,CACrB,CAAC;;AAEF;;AAEA,OAAO,MAAMI,yBAAyB,GAAGN,GAAG,CAC1C,CACE,+DAA+D,EAC/DC,gBAAgB,EAChBE,kBAAkB,CACnB,EACD;EACEI,QAAQ,EAAE;IACRC,QAAQ,EAAE;MACRC,IAAI,EAAE,EAAE;MACRC,KAAK,EAAE;IACT;EACF,CAAC;EACDC,eAAe,EAAE;IACfH,QAAQ,EAAE;EACZ;AACF,CACF,CAAC;;AAED;;AAEA,OAAO,MAAMI,0BAA0B,GAAGZ,GAAG,CAAC,CAACC,gBAAgB,EAAE,WAAW,CAAC,CAAC;;AAE9E;;AAEA,OAAO,MAAMY,yBAAyB,GAAGb,GAAG,CAAC,CAC3C,yBAAyB,EACzBC,gBAAgB,EAChBC,oBAAoB,CACrB,CAAC;;AAEF;;AAEA,OAAO,MAAMY,2BAA2B,GAAGd,GAAG,CAAC,CAAC,SAAS,EAAEI,oBAAoB,CAAC,CAAC;;AAEjF;;AAEA,OAAO,MAAMW,6BAA6B,GAAGf,GAAG,CAAC,CAAC,8CAA8C,CAAC,CAAC;AAElG,OAAO,MAAMgB,2BAA2B,GAAGhB,GAAG,CAAC,CAAC,uBAAuB,CAAC,CAAC;;AAEzE;;AAEA,OAAO,MAAMiB,8BAA8B,GAAGjB,GAAG,CAAC,CAAC,yCAAyC,CAAC,CAAC;;AAE9F;;AAEA,OAAO,MAAMkB,4BAA4B,GAAGlB,GAAG,CAAC,CAAC,uBAAuB,CAAC,CAAC;;AAE1E;AACA;AACA;AACA,OAAO,MAAMmB,oBAA+B,GAAG;EAC7CC,eAAe,EAAE,SAAS;EAC1BC,KAAK,EAAE,EAAE;EACTC,MAAM,EAAE,CAAC;EACTC,YAAY,EAAE;AAChB,CAAC","ignoreList":[]}
@@ -1,16 +1,22 @@
1
1
  "use strict";
2
2
 
3
3
  import { forwardRef } from 'react';
4
- import { Pressable } from 'react-native';
4
+ import { Pressable, Text as RNText } from 'react-native';
5
5
  import { createLink } from '@cdx-ui/primitives';
6
6
  import { cn } from '@cdx-ui/utils';
7
- import { linkRootVariants } from './styles';
7
+ import { Icon } from '../Icon';
8
+ import { linkRootVariants, linkLabelVariants, linkIconVariants } from './styles';
8
9
  import { jsx as _jsx } from "react/jsx-runtime";
9
10
  export { LinkProvider } from '@cdx-ui/primitives';
10
11
  const LinkPrimitive = createLink({
11
12
  Root: Pressable
12
13
  });
13
- export const Link = /*#__PURE__*/forwardRef(({
14
+
15
+ // =============================================================================
16
+ // STYLED ROOT COMPONENT
17
+ // =============================================================================
18
+
19
+ const LinkRoot = /*#__PURE__*/forwardRef(({
14
20
  className,
15
21
  children,
16
22
  style,
@@ -25,5 +31,55 @@ export const Link = /*#__PURE__*/forwardRef(({
25
31
  children: children
26
32
  });
27
33
  });
28
- Link.displayName = 'Link';
34
+ LinkRoot.displayName = 'Link';
35
+
36
+ // =============================================================================
37
+ // STYLED LABEL COMPONENT
38
+ // =============================================================================
39
+
40
+ const LinkLabel = /*#__PURE__*/forwardRef(({
41
+ className,
42
+ children,
43
+ style,
44
+ ...props
45
+ }, ref) => {
46
+ const computedClassName = cn(linkLabelVariants(), className);
47
+ return /*#__PURE__*/_jsx(RNText, {
48
+ ref: ref,
49
+ className: computedClassName,
50
+ style: style,
51
+ ...props,
52
+ children: children
53
+ });
54
+ });
55
+ LinkLabel.displayName = 'Link.Label';
56
+
57
+ // =============================================================================
58
+ // STYLED ICON COMPONENT
59
+ // =============================================================================
60
+
61
+ const LinkIcon = ({
62
+ className,
63
+ style,
64
+ as,
65
+ ...props
66
+ }) => {
67
+ const computedClassName = cn(linkIconVariants(), className);
68
+ return /*#__PURE__*/_jsx(Icon, {
69
+ as: as,
70
+ className: computedClassName,
71
+ style: style,
72
+ ...props
73
+ });
74
+ };
75
+ LinkIcon.displayName = 'Link.Icon';
76
+
77
+ // =============================================================================
78
+ // COMPOUND COMPONENT EXPORT
79
+ // =============================================================================
80
+
81
+ export const Link = Object.assign(LinkRoot, {
82
+ Label: LinkLabel,
83
+ Icon: LinkIcon
84
+ });
29
85
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["forwardRef","Pressable","createLink","cn","linkRootVariants","jsx","_jsx","LinkProvider","LinkPrimitive","Root","Link","className","children","style","props","ref","rootClassName","displayName"],"sourceRoot":"../../../../src","sources":["components/Link/index.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,OAAO;AAClC,SAASC,SAAS,QAAmB,cAAc;AACnD,SAASC,UAAU,QAAyB,oBAAoB;AAChE,SAASC,EAAE,QAAQ,eAAe;AAClC,SAASC,gBAAgB,QAAQ,UAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE5C,SAASC,YAAY,QAA0C,oBAAoB;AAEnF,MAAMC,aAAa,GAAGN,UAAU,CAAC;EAC/BO,IAAI,EAAER;AACR,CAAC,CAAC;AAMF,OAAO,MAAMS,IAAI,gBAAGV,UAAU,CAAkB,CAAC;EAAEW,SAAS;EAAEC,QAAQ;EAAEC,KAAK;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,KAAK;EACjG,MAAMC,aAAa,GAAGb,EAAE,CAACC,gBAAgB,CAAC,CAAC,EAAEO,SAAS,CAAC;EAEvD,oBACEL,IAAA,CAACE,aAAa;IAACO,GAAG,EAAEA,GAAI;IAACJ,SAAS,EAAEK,aAAc;IAACH,KAAK,EAAEA,KAAM;IAAA,GAAKC,KAAK;IAAAF,QAAA,EACvEA;EAAQ,CACI,CAAC;AAEpB,CAAC,CAAC;AAEFF,IAAI,CAACO,WAAW,GAAG,MAAM","ignoreList":[]}
1
+ {"version":3,"names":["forwardRef","Pressable","Text","RNText","createLink","cn","Icon","linkRootVariants","linkLabelVariants","linkIconVariants","jsx","_jsx","LinkProvider","LinkPrimitive","Root","LinkRoot","className","children","style","props","ref","rootClassName","displayName","LinkLabel","computedClassName","LinkIcon","as","Link","Object","assign","Label"],"sourceRoot":"../../../../src","sources":["components/Link/index.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAwB,OAAO;AAClD,SAASC,SAAS,EAAEC,IAAI,IAAIC,MAAM,QAAmC,cAAc;AACnF,SAASC,UAAU,QAAyB,oBAAoB;AAChE,SAASC,EAAE,QAAQ,eAAe;AAClC,SAASC,IAAI,QAAwB,SAAS;AAC9C,SAASC,gBAAgB,EAAEC,iBAAiB,EAAEC,gBAAgB,QAAQ,UAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEjF,SAASC,YAAY,QAA0C,oBAAoB;AAEnF,MAAMC,aAAa,GAAGT,UAAU,CAAC;EAC/BU,IAAI,EAAEb;AACR,CAAC,CAAC;;AAEF;AACA;AACA;;AAMA,MAAMc,QAAQ,gBAAGf,UAAU,CAAkB,CAAC;EAAEgB,SAAS;EAAEC,QAAQ;EAAEC,KAAK;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,KAAK;EAC9F,MAAMC,aAAa,GAAGhB,EAAE,CAACE,gBAAgB,CAAC,CAAC,EAAES,SAAS,CAAC;EAEvD,oBACEL,IAAA,CAACE,aAAa;IAACO,GAAG,EAAEA,GAAI;IAACJ,SAAS,EAAEK,aAAc;IAACH,KAAK,EAAEA,KAAM;IAAA,GAAKC,KAAK;IAAAF,QAAA,EACvEA;EAAQ,CACI,CAAC;AAEpB,CAAC,CAAC;AAEFF,QAAQ,CAACO,WAAW,GAAG,MAAM;;AAE7B;AACA;AACA;;AAOA,MAAMC,SAAS,gBAAGvB,UAAU,CAC1B,CAAC;EAAEgB,SAAS;EAAEC,QAAQ;EAAEC,KAAK;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,KAAK;EACjD,MAAMI,iBAAiB,GAAGnB,EAAE,CAACG,iBAAiB,CAAC,CAAC,EAAEQ,SAAS,CAAC;EAE5D,oBACEL,IAAA,CAACR,MAAM;IAACiB,GAAG,EAAEA,GAAI;IAACJ,SAAS,EAAEQ,iBAAkB;IAACN,KAAK,EAAEA,KAAM;IAAA,GAAKC,KAAK;IAAAF,QAAA,EACpEA;EAAQ,CACH,CAAC;AAEb,CACF,CAAC;AAEDM,SAAS,CAACD,WAAW,GAAG,YAAY;;AAEpC;AACA;AACA;;AAIA,MAAMG,QAAQ,GAAGA,CAAC;EAAET,SAAS;EAAEE,KAAK;EAAEQ,EAAE;EAAE,GAAGP;AAAqB,CAAC,KAAK;EACtE,MAAMK,iBAAiB,GAAGnB,EAAE,CAACI,gBAAgB,CAAC,CAAC,EAAEO,SAAS,CAAC;EAE3D,oBAAOL,IAAA,CAACL,IAAI;IAACoB,EAAE,EAAEA,EAAG;IAACV,SAAS,EAAEQ,iBAAkB;IAACN,KAAK,EAAEA,KAAM;IAAA,GAAKC;EAAK,CAAG,CAAC;AAChF,CAAC;AAEDM,QAAQ,CAACH,WAAW,GAAG,WAAW;;AAElC;AACA;AACA;;AAOA,OAAO,MAAMK,IAAI,GAAGC,MAAM,CAACC,MAAM,CAACd,QAAQ,EAAE;EAC1Ce,KAAK,EAAEP,SAAS;EAChBjB,IAAI,EAAEmB;AACR,CAAC,CAA0B","ignoreList":[]}
@@ -2,9 +2,11 @@
2
2
 
3
3
  import { Platform } from 'react-native';
4
4
  import { cva } from 'class-variance-authority';
5
- import { COLOR_TEXT_PRIMARY, TRANSITION_COLORS } from '../../styles/primitives';
6
- export const linkRootVariants = cva(['flex-row items-center', 'web:outline-none web:focus:outline-none web:focus-visible:outline-none', COLOR_TEXT_PRIMARY, 'underline decoration-slate-300 underline-offset-4', TRANSITION_COLORS, Platform.select({
5
+ import { TRANSITION_COLORS } from '../../styles/primitives';
6
+ export const linkRootVariants = cva(['flex-row items-center gap-1', 'web:outline-none web:focus:outline-none web:focus-visible:outline-none', 'text-blue-600', 'underline decoration-slate-300 underline-offset-4', TRANSITION_COLORS, Platform.select({
7
7
  web: 'data-[hover=true]:decoration-slate-900',
8
8
  default: ''
9
9
  }), 'web:data-[focus-visible=true]:ring-2 web:data-[focus-visible=true]:ring-slate-400/50 web:data-[focus-visible=true]:ring-offset-2']);
10
+ export const linkLabelVariants = cva(['text-sm font-medium', 'text-blue-600']);
11
+ export const linkIconVariants = cva(['size-4', 'text-blue-600']);
10
12
  //# sourceMappingURL=styles.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","cva","COLOR_TEXT_PRIMARY","TRANSITION_COLORS","linkRootVariants","select","web","default"],"sourceRoot":"../../../../src","sources":["components/Link/styles.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAASC,GAAG,QAAQ,0BAA0B;AAC9C,SAASC,kBAAkB,EAAEC,iBAAiB,QAAQ,yBAAyB;AAE/E,OAAO,MAAMC,gBAAgB,GAAGH,GAAG,CAAC,CAClC,uBAAuB,EACvB,wEAAwE,EACxEC,kBAAkB,EAClB,mDAAmD,EACnDC,iBAAiB,EACjBH,QAAQ,CAACK,MAAM,CAAC;EACdC,GAAG,EAAE,wCAAwC;EAC7CC,OAAO,EAAE;AACX,CAAC,CAAC,EACF,kIAAkI,CACnI,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["Platform","cva","TRANSITION_COLORS","linkRootVariants","select","web","default","linkLabelVariants","linkIconVariants"],"sourceRoot":"../../../../src","sources":["components/Link/styles.ts"],"mappings":";;AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAASC,GAAG,QAAQ,0BAA0B;AAC9C,SAASC,iBAAiB,QAAQ,yBAAyB;AAE3D,OAAO,MAAMC,gBAAgB,GAAGF,GAAG,CAAC,CAClC,6BAA6B,EAC7B,wEAAwE,EACxE,eAAe,EACf,mDAAmD,EACnDC,iBAAiB,EACjBF,QAAQ,CAACI,MAAM,CAAC;EACdC,GAAG,EAAE,wCAAwC;EAC7CC,OAAO,EAAE;AACX,CAAC,CAAC,EACF,kIAAkI,CACnI,CAAC;AAEF,OAAO,MAAMC,iBAAiB,GAAGN,GAAG,CAAC,CAAC,qBAAqB,EAAE,eAAe,CAAC,CAAC;AAE9E,OAAO,MAAMO,gBAAgB,GAAGP,GAAG,CAAC,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+
3
+ import { forwardRef, useMemo } from 'react';
4
+ import { View } from 'react-native';
5
+ import { cn } from '@cdx-ui/utils';
6
+ import { progressSegmentedVariants, segmentVariants } from './styles';
7
+ import { jsx as _jsx } from "react/jsx-runtime";
8
+ export const ProgressSegmented = /*#__PURE__*/forwardRef(({
9
+ step,
10
+ total = 5,
11
+ isStepComplete = false,
12
+ getAccessibilityText,
13
+ className,
14
+ accessibilityLabel = 'Progress',
15
+ ...props
16
+ }, ref) => {
17
+ const clampedStep = Math.max(0, Math.min(step, total));
18
+ const segments = useMemo(() => {
19
+ return Array.from({
20
+ length: total
21
+ }, (_, index) => {
22
+ const segmentIndex = index + 1;
23
+ let state = 'incomplete';
24
+ if (segmentIndex < clampedStep || isStepComplete && segmentIndex === clampedStep) {
25
+ state = 'complete';
26
+ } else if (segmentIndex === clampedStep) {
27
+ state = 'inprogress';
28
+ }
29
+ return state;
30
+ });
31
+ }, [total, clampedStep, isStepComplete]);
32
+ let accessibilityText = `Step ${String(clampedStep)} of ${String(total)}`;
33
+ if (getAccessibilityText) {
34
+ accessibilityText = getAccessibilityText(clampedStep, total, isStepComplete);
35
+ } else if (isStepComplete) {
36
+ accessibilityText = `Step ${String(clampedStep)} of ${String(total)}, completed`;
37
+ }
38
+ return /*#__PURE__*/_jsx(View, {
39
+ ref: ref,
40
+ accessibilityRole: "progressbar",
41
+ accessibilityLabel: accessibilityLabel,
42
+ accessibilityValue: {
43
+ min: 0,
44
+ max: total,
45
+ now: clampedStep,
46
+ text: accessibilityText
47
+ },
48
+ className: cn(progressSegmentedVariants(), className),
49
+ ...props,
50
+ children: segments.map((state, index) => /*#__PURE__*/_jsx(View, {
51
+ className: cn(segmentVariants({
52
+ state
53
+ }))
54
+ }, index))
55
+ });
56
+ });
57
+ ProgressSegmented.displayName = 'ProgressSegmented';
58
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["forwardRef","useMemo","View","cn","progressSegmentedVariants","segmentVariants","jsx","_jsx","ProgressSegmented","step","total","isStepComplete","getAccessibilityText","className","accessibilityLabel","props","ref","clampedStep","Math","max","min","segments","Array","from","length","_","index","segmentIndex","state","accessibilityText","String","accessibilityRole","accessibilityValue","now","text","children","map","displayName"],"sourceRoot":"../../../../src","sources":["components/ProgressSegmented/index.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,OAAO,QAAQ,OAAO;AAC3C,SAASC,IAAI,QAAwB,cAAc;AACnD,SAASC,EAAE,QAAQ,eAAe;AAClC,SACEC,yBAAyB,EACzBC,eAAe,QAEV,UAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAclB,OAAO,MAAMC,iBAAiB,gBAAGR,UAAU,CACzC,CACE;EACES,IAAI;EACJC,KAAK,GAAG,CAAC;EACTC,cAAc,GAAG,KAAK;EACtBC,oBAAoB;EACpBC,SAAS;EACTC,kBAAkB,GAAG,UAAU;EAC/B,GAAGC;AACL,CAAC,EACDC,GAAG,KACA;EACH,MAAMC,WAAW,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACE,GAAG,CAACX,IAAI,EAAEC,KAAK,CAAC,CAAC;EAEtD,MAAMW,QAAQ,GAAGpB,OAAO,CAAC,MAAM;IAC7B,OAAOqB,KAAK,CAACC,IAAI,CAAC;MAAEC,MAAM,EAAEd;IAAM,CAAC,EAAE,CAACe,CAAC,EAAEC,KAAK,KAAK;MACjD,MAAMC,YAAY,GAAGD,KAAK,GAAG,CAAC;MAC9B,IAAIE,KAA+C,GAAG,YAAY;MAElE,IAAID,YAAY,GAAGV,WAAW,IAAKN,cAAc,IAAIgB,YAAY,KAAKV,WAAY,EAAE;QAClFW,KAAK,GAAG,UAAU;MACpB,CAAC,MAAM,IAAID,YAAY,KAAKV,WAAW,EAAE;QACvCW,KAAK,GAAG,YAAY;MACtB;MAEA,OAAOA,KAAK;IACd,CAAC,CAAC;EACJ,CAAC,EAAE,CAAClB,KAAK,EAAEO,WAAW,EAAEN,cAAc,CAAC,CAAC;EAExC,IAAIkB,iBAAiB,GAAG,QAAQC,MAAM,CAACb,WAAW,CAAC,OAAOa,MAAM,CAACpB,KAAK,CAAC,EAAE;EACzE,IAAIE,oBAAoB,EAAE;IACxBiB,iBAAiB,GAAGjB,oBAAoB,CAACK,WAAW,EAAEP,KAAK,EAAEC,cAAc,CAAC;EAC9E,CAAC,MAAM,IAAIA,cAAc,EAAE;IACzBkB,iBAAiB,GAAG,QAAQC,MAAM,CAACb,WAAW,CAAC,OAAOa,MAAM,CAACpB,KAAK,CAAC,aAAa;EAClF;EAEA,oBACEH,IAAA,CAACL,IAAI;IACHc,GAAG,EAAEA,GAAI;IACTe,iBAAiB,EAAC,aAAa;IAC/BjB,kBAAkB,EAAEA,kBAAmB;IACvCkB,kBAAkB,EAAE;MAClBZ,GAAG,EAAE,CAAC;MACND,GAAG,EAAET,KAAK;MACVuB,GAAG,EAAEhB,WAAW;MAChBiB,IAAI,EAAEL;IACR,CAAE;IACFhB,SAAS,EAAEV,EAAE,CAACC,yBAAyB,CAAC,CAAC,EAAES,SAAS,CAAE;IAAA,GAClDE,KAAK;IAAAoB,QAAA,EAERd,QAAQ,CAACe,GAAG,CAAC,CAACR,KAAK,EAAEF,KAAK,kBACzBnB,IAAA,CAACL,IAAI;MAAaW,SAAS,EAAEV,EAAE,CAACE,eAAe,CAAC;QAAEuB;MAAM,CAAC,CAAC;IAAE,GAAjDF,KAAmD,CAC/D;EAAC,CACE,CAAC;AAEX,CACF,CAAC;AAEDlB,iBAAiB,CAAC6B,WAAW,GAAG,mBAAmB","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ import { cva } from 'class-variance-authority';
4
+ export const progressSegmentedVariants = cva(['flex-row gap-1 w-full']);
5
+ export const segmentVariants = cva(['flex-1 h-2 rounded'], {
6
+ variants: {
7
+ state: {
8
+ complete: 'bg-slate-900',
9
+ incomplete: 'bg-slate-300',
10
+ inprogress: 'bg-gradient-to-r from-slate-900 from-50% to-slate-300 to-50%'
11
+ }
12
+ },
13
+ defaultVariants: {
14
+ state: 'incomplete'
15
+ }
16
+ });
17
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["cva","progressSegmentedVariants","segmentVariants","variants","state","complete","incomplete","inprogress","defaultVariants"],"sourceRoot":"../../../../src","sources":["components/ProgressSegmented/styles.ts"],"mappings":";;AAAA,SAASA,GAAG,QAA2B,0BAA0B;AAEjE,OAAO,MAAMC,yBAAyB,GAAGD,GAAG,CAAC,CAAC,uBAAuB,CAAC,CAAC;AAEvE,OAAO,MAAME,eAAe,GAAGF,GAAG,CAAC,CAAC,oBAAoB,CAAC,EAAE;EACzDG,QAAQ,EAAE;IACRC,KAAK,EAAE;MACLC,QAAQ,EAAE,cAAc;MACxBC,UAAU,EAAE,cAAc;MAC1BC,UAAU,EAAE;IACd;EACF,CAAC;EACDC,eAAe,EAAE;IACfJ,KAAK,EAAE;EACT;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  export * from './Avatar';
4
+ export * from './BottomSheet';
4
5
  export * from './Box';
5
6
  export * from './Button';
6
7
  export * from './Chip';
@@ -8,6 +9,7 @@ export * from './Card';
8
9
  export * from './Checkbox';
9
10
  export * from './Input';
10
11
  export * from './Link';
12
+ export * from './ProgressSegmented';
11
13
  export * from './Select';
12
14
  export * from './VirtualizedList';
13
15
  export * from './Switch';
@@ -1 +1 @@
1
- {"version":3,"names":["HStack","VStack"],"sourceRoot":"../../../src","sources":["components/index.ts"],"mappings":";;AAAA,cAAc,UAAU;AACxB,cAAc,OAAO;AACrB,cAAc,UAAU;AACxB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,YAAY;AAC1B,cAAc,SAAS;AACvB,cAAc,QAAQ;AACtB,cAAc,UAAU;AACxB,cAAc,mBAAmB;AACjC,cAAc,UAAU;AACxB,SAASA,MAAM,EAAEC,MAAM,QAAQ,SAAS;AACxC,cAAc,WAAW;AACzB,cAAc,QAAQ;AACtB,cAAc,QAAQ","ignoreList":[]}
1
+ {"version":3,"names":["HStack","VStack"],"sourceRoot":"../../../src","sources":["components/index.ts"],"mappings":";;AAAA,cAAc,UAAU;AACxB,cAAc,eAAe;AAC7B,cAAc,OAAO;AACrB,cAAc,UAAU;AACxB,cAAc,QAAQ;AACtB,cAAc,QAAQ;AACtB,cAAc,YAAY;AAC1B,cAAc,SAAS;AACvB,cAAc,QAAQ;AACtB,cAAc,qBAAqB;AACnC,cAAc,UAAU;AACxB,cAAc,mBAAmB;AACjC,cAAc,UAAU;AACxB,SAASA,MAAM,EAAEC,MAAM,QAAQ,SAAS;AACxC,cAAc,WAAW;AACzB,cAAc,QAAQ;AACtB,cAAc,QAAQ","ignoreList":[]}
@@ -0,0 +1,61 @@
1
+ import React, { type ReactNode } from 'react';
2
+ import { View, ViewStyle } from 'react-native';
3
+ import { BottomSheetModal, BottomSheetModalProvider, BottomSheetScrollView, BottomSheetView } from '@gorhom/bottom-sheet';
4
+ /** Ref type for BottomSheet; forwards the @gorhom modal ref (present, dismiss, snapToIndex, minimize, restore, etc.). */
5
+ export type BottomSheetModalRef = React.ComponentRef<typeof BottomSheetModal>;
6
+ export interface BottomSheetHeaderProps {
7
+ title?: string;
8
+ subtitle?: string;
9
+ children?: ReactNode;
10
+ className?: string;
11
+ onClose?: () => void;
12
+ closeAccessibilityLabel?: string;
13
+ onBack?: () => void;
14
+ backAccessibilityLabel?: string;
15
+ }
16
+ declare const BottomSheetHeader: React.ForwardRefExoticComponent<BottomSheetHeaderProps & React.RefAttributes<View>>;
17
+ export interface BottomSheetContentProps {
18
+ children?: ReactNode;
19
+ className?: string;
20
+ hasSafeAreaInset?: boolean;
21
+ style?: ViewStyle;
22
+ }
23
+ declare const BottomSheetContent: React.ForwardRefExoticComponent<BottomSheetContentProps & React.RefAttributes<View>>;
24
+ export interface BottomSheetFooterProps {
25
+ children?: ReactNode;
26
+ className?: string;
27
+ style?: ViewStyle;
28
+ }
29
+ declare const BottomSheetFooter: React.ForwardRefExoticComponent<BottomSheetFooterProps & React.RefAttributes<View>>;
30
+ export interface BottomSheetModalProps extends React.ComponentPropsWithoutRef<typeof BottomSheetModal> {
31
+ /** Show the drag handle indicator. When false, `handleComponent` is set to null. @default true */
32
+ handleVisible?: boolean;
33
+ /** Footer content rendered via gorhom's BottomSheetFooter for proper animated positioning and safe-area handling. */
34
+ footer?: ReactNode;
35
+ }
36
+ declare const BottomSheetModalStyled: React.ForwardRefExoticComponent<BottomSheetModalProps & React.RefAttributes<BottomSheetModal<unknown>>>;
37
+ declare function BottomSheetScrollViewStyled({ enableFooterMarginAdjustment, children, ...rest }: React.ComponentPropsWithoutRef<typeof BottomSheetScrollView>): import("react/jsx-runtime").JSX.Element;
38
+ declare namespace BottomSheetScrollViewStyled {
39
+ var displayName: string;
40
+ }
41
+ declare function BottomSheetViewStyled({ enableFooterMarginAdjustment, children, ...rest }: React.ComponentPropsWithoutRef<typeof BottomSheetView>): import("react/jsx-runtime").JSX.Element;
42
+ declare namespace BottomSheetViewStyled {
43
+ var displayName: string;
44
+ }
45
+ interface BottomSheetCompound {
46
+ Modal: typeof BottomSheetModalStyled;
47
+ Header: typeof BottomSheetHeader;
48
+ Content: typeof BottomSheetContent;
49
+ Footer: typeof BottomSheetFooter;
50
+ Provider: typeof BottomSheetModalProvider;
51
+ ScrollView: typeof BottomSheetScrollViewStyled;
52
+ View: typeof BottomSheetViewStyled;
53
+ }
54
+ export declare const BottomSheet: BottomSheetCompound;
55
+ export declare function useBottomSheet(): {
56
+ ref: React.RefObject<BottomSheetModal<unknown> | null>;
57
+ present: () => void | undefined;
58
+ dismiss: () => void | undefined;
59
+ };
60
+ export {};
61
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/BottomSheet/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAmC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC/E,OAAO,EAAyB,IAAI,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEtE,OAAO,EACL,gBAAgB,EAChB,wBAAwB,EACxB,qBAAqB,EACrB,eAAe,EAKhB,MAAM,sBAAsB,CAAC;AAmB9B,yHAAyH;AACzH,MAAM,MAAM,mBAAmB,GAAG,KAAK,CAAC,YAAY,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE9E,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAwDD,QAAA,MAAM,iBAAiB,qFAAuE,CAAC;AAoC/F,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,QAAA,MAAM,kBAAkB,sFAevB,CAAC;AAOF,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,QAAA,MAAM,iBAAiB,qFAetB,CAAC;AAQF,MAAM,WAAW,qBAAsB,SAAQ,KAAK,CAAC,wBAAwB,CAC3E,OAAO,gBAAgB,CACxB;IACC,kGAAkG;IAClG,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qHAAqH;IACrH,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAgBD,QAAA,MAAM,sBAAsB,yGA0B1B,CAAC;AAQH,iBAAS,2BAA2B,CAAC,EACnC,4BAAmC,EACnC,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,KAAK,CAAC,wBAAwB,CAAC,OAAO,qBAAqB,CAAC,2CAM9D;kBAVQ,2BAA2B;;;AAkBpC,iBAAS,qBAAqB,CAAC,EAC7B,4BAAmC,EACnC,QAAQ,EACR,GAAG,IAAI,EACR,EAAE,KAAK,CAAC,wBAAwB,CAAC,OAAO,eAAe,CAAC,2CAMxD;kBAVQ,qBAAqB;;;AAsB9B,UAAU,mBAAmB;IAC3B,KAAK,EAAE,OAAO,sBAAsB,CAAC;IACrC,MAAM,EAAE,OAAO,iBAAiB,CAAC;IACjC,OAAO,EAAE,OAAO,kBAAkB,CAAC;IACnC,MAAM,EAAE,OAAO,iBAAiB,CAAC;IACjC,QAAQ,EAAE,OAAO,wBAAwB,CAAC;IAC1C,UAAU,EAAE,OAAO,2BAA2B,CAAC;IAC/C,IAAI,EAAE,OAAO,qBAAqB,CAAC;CACpC;AAED,eAAO,MAAM,WAAW,EAQnB,mBAAmB,CAAC;AAIzB,wBAAgB,cAAc;;;;EAG7B"}
@@ -0,0 +1,16 @@
1
+ import { type ViewStyle } from 'react-native';
2
+ import { type VariantProps } from 'class-variance-authority';
3
+ export declare const bottomSheetContainerVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
4
+ export declare const bottomSheetHeaderVariants: (props?: ({
5
+ hasTitle?: boolean | null | undefined;
6
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
+ export declare const bottomSheetContentVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
8
+ export declare const bottomSheetFooterVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
9
+ export declare const bottomSheetSubtitleVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
10
+ export declare const bottomSheetBackButtonVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
11
+ export declare const bottomSheetBackIconVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
12
+ export declare const bottomSheetCloseButtonVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
13
+ export declare const bottomSheetCloseIconVariants: (props?: import("class-variance-authority/types").ClassProp | undefined) => string;
14
+ export declare const handleIndicatorStyle: ViewStyle;
15
+ export type BottomSheetHeaderVariants = VariantProps<typeof bottomSheetHeaderVariants>;
16
+ //# sourceMappingURL=styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/components/BottomSheet/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAUlE,eAAO,MAAM,4BAA4B,oFAIvC,CAAC;AAIH,eAAO,MAAM,yBAAyB;;8EAiBrC,CAAC;AAIF,eAAO,MAAM,0BAA0B,oFAAuC,CAAC;AAI/E,eAAO,MAAM,yBAAyB,oFAIpC,CAAC;AAIH,eAAO,MAAM,2BAA2B,oFAAyC,CAAC;AAIlF,eAAO,MAAM,6BAA6B,oFAAwD,CAAC;AAEnG,eAAO,MAAM,2BAA2B,oFAAiC,CAAC;AAI1E,eAAO,MAAM,8BAA8B,oFAAmD,CAAC;AAI/F,eAAO,MAAM,4BAA4B,oFAAiC,CAAC;AAK3E,eAAO,MAAM,oBAAoB,EAAE,SAKlC,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,YAAY,CAAC,OAAO,yBAAyB,CAAC,CAAC"}