@dailyautomations/ui 1.4.1 → 1.5.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.
- package/dist/native/components/common/badge.d.ts +12 -0
- package/dist/native/components/common/badge.d.ts.map +1 -0
- package/dist/native/components/common/badge.js +28 -0
- package/dist/native/components/common/badge.js.map +1 -0
- package/dist/native/components/common/button.d.ts +15 -0
- package/dist/native/components/common/button.d.ts.map +1 -0
- package/dist/native/components/common/button.js +55 -0
- package/dist/native/components/common/button.js.map +1 -0
- package/dist/native/components/common/card.d.ts +37 -0
- package/dist/native/components/common/card.d.ts.map +1 -0
- package/dist/native/components/common/card.js +23 -0
- package/dist/native/components/common/card.js.map +1 -0
- package/dist/native/components/common/checkbox.d.ts +8 -0
- package/dist/native/components/common/checkbox.d.ts.map +1 -0
- package/dist/native/components/common/checkbox.js +13 -0
- package/dist/native/components/common/checkbox.js.map +1 -0
- package/dist/native/components/common/input.d.ts +6 -0
- package/dist/native/components/common/input.d.ts.map +1 -0
- package/dist/native/components/common/input.js +8 -0
- package/dist/native/components/common/input.js.map +1 -0
- package/dist/native/components/common/label.d.ts +6 -0
- package/dist/native/components/common/label.d.ts.map +1 -0
- package/dist/native/components/common/label.js +7 -0
- package/dist/native/components/common/label.js.map +1 -0
- package/dist/native/components/common/textarea.d.ts +6 -0
- package/dist/native/components/common/textarea.d.ts.map +1 -0
- package/dist/native/components/common/textarea.js +9 -0
- package/dist/native/components/common/textarea.js.map +1 -0
- package/dist/native/components/ui/alert.d.ts +22 -0
- package/dist/native/components/ui/alert.d.ts.map +1 -0
- package/dist/native/components/ui/alert.js +32 -0
- package/dist/native/components/ui/alert.js.map +1 -0
- package/dist/native/components/ui/avatar.d.ts +23 -0
- package/dist/native/components/ui/avatar.d.ts.map +1 -0
- package/dist/native/components/ui/avatar.js +18 -0
- package/dist/native/components/ui/avatar.js.map +1 -0
- package/dist/native/components/ui/empty-state.d.ts +15 -0
- package/dist/native/components/ui/empty-state.d.ts.map +1 -0
- package/dist/native/components/ui/empty-state.js +8 -0
- package/dist/native/components/ui/empty-state.js.map +1 -0
- package/dist/native/components/ui/loading-spinner.d.ts +18 -0
- package/dist/native/components/ui/loading-spinner.d.ts.map +1 -0
- package/dist/native/components/ui/loading-spinner.js +49 -0
- package/dist/native/components/ui/loading-spinner.js.map +1 -0
- package/dist/native/components/ui/progress.d.ts +9 -0
- package/dist/native/components/ui/progress.d.ts.map +1 -0
- package/dist/native/components/ui/progress.js +22 -0
- package/dist/native/components/ui/progress.js.map +1 -0
- package/dist/native/components/ui/separator.d.ts +11 -0
- package/dist/native/components/ui/separator.d.ts.map +1 -0
- package/dist/native/components/ui/separator.js +9 -0
- package/dist/native/components/ui/separator.js.map +1 -0
- package/dist/native/components/ui/skeleton.d.ts +10 -0
- package/dist/native/components/ui/skeleton.d.ts.map +1 -0
- package/dist/native/components/ui/skeleton.js +33 -0
- package/dist/native/components/ui/skeleton.js.map +1 -0
- package/dist/native/components/ui/switch.d.ts +8 -0
- package/dist/native/components/ui/switch.d.ts.map +1 -0
- package/dist/native/components/ui/switch.js +10 -0
- package/dist/native/components/ui/switch.js.map +1 -0
- package/dist/native/index.d.ts +33 -0
- package/dist/native/index.d.ts.map +1 -0
- package/dist/native/index.js +18 -0
- package/dist/native/index.js.map +1 -0
- package/dist/native/lib/animations.d.ts +145 -0
- package/dist/native/lib/animations.d.ts.map +1 -0
- package/dist/native/lib/animations.js +96 -0
- package/dist/native/lib/animations.js.map +1 -0
- package/dist/native/utils/cn.d.ts +5 -0
- package/dist/native/utils/cn.d.ts.map +1 -0
- package/dist/native/utils/cn.js +33 -0
- package/dist/native/utils/cn.js.map +1 -0
- package/dist/shared/index.d.ts +2 -0
- package/dist/shared/index.d.ts.map +1 -0
- package/dist/shared/index.js +2 -0
- package/dist/shared/index.js.map +1 -0
- package/dist/shared/tokens/colors.d.ts +493 -0
- package/dist/shared/tokens/colors.d.ts.map +1 -0
- package/dist/shared/tokens/colors.js +275 -0
- package/dist/shared/tokens/colors.js.map +1 -0
- package/dist/shared/tokens/index.d.ts +551 -0
- package/dist/shared/tokens/index.d.ts.map +1 -0
- package/dist/shared/tokens/index.js +14 -0
- package/dist/shared/tokens/index.js.map +1 -0
- package/dist/shared/tokens/radius.d.ts +17 -0
- package/dist/shared/tokens/radius.d.ts.map +1 -0
- package/dist/shared/tokens/radius.js +25 -0
- package/dist/shared/tokens/radius.js.map +1 -0
- package/dist/shared/tokens/spacing.d.ts +42 -0
- package/dist/shared/tokens/spacing.d.ts.map +1 -0
- package/dist/shared/tokens/spacing.js +48 -0
- package/dist/shared/tokens/spacing.js.map +1 -0
- package/package.json +112 -1
- package/src/native/components/common/badge.tsx +64 -0
- package/src/native/components/common/button.tsx +130 -0
- package/src/native/components/common/card.tsx +113 -0
- package/src/native/components/common/checkbox.tsx +50 -0
- package/src/native/components/common/input.tsx +42 -0
- package/src/native/components/common/label.tsx +27 -0
- package/src/native/components/common/textarea.tsx +44 -0
- package/src/native/components/ui/alert.tsx +94 -0
- package/src/native/components/ui/avatar.tsx +73 -0
- package/src/native/components/ui/empty-state.tsx +76 -0
- package/src/native/components/ui/loading-spinner.tsx +108 -0
- package/src/native/components/ui/progress.tsx +56 -0
- package/src/native/components/ui/separator.tsx +43 -0
- package/src/native/components/ui/skeleton.tsx +68 -0
- package/src/native/components/ui/switch.tsx +40 -0
- package/src/native/index.ts +74 -0
- package/src/native/lib/animations.ts +119 -0
- package/src/native/utils/cn.ts +57 -0
- package/src/shared/index.ts +6 -0
- package/src/shared/tokens/colors.ts +311 -0
- package/src/shared/tokens/index.ts +38 -0
- package/src/shared/tokens/radius.ts +39 -0
- package/src/shared/tokens/spacing.ts +61 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { type ViewStyle } from 'react-native';
|
|
3
|
+
type BadgeVariant = 'default' | 'secondary' | 'outline' | 'destructive';
|
|
4
|
+
export interface BadgeProps {
|
|
5
|
+
children?: React.ReactNode;
|
|
6
|
+
variant?: BadgeVariant;
|
|
7
|
+
className?: string;
|
|
8
|
+
style?: ViewStyle;
|
|
9
|
+
}
|
|
10
|
+
export declare function Badge({ children, variant, className, style, }: BadgeProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export type { BadgeVariant };
|
|
12
|
+
//# sourceMappingURL=badge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"badge.d.ts","sourceRoot":"","sources":["../../../../src/native/components/common/badge.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAG1D,KAAK,YAAY,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,aAAa,CAAC;AAExE,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAqBD,wBAAgB,KAAK,CAAC,EACpB,QAAQ,EACR,OAAmB,EACnB,SAAS,EACT,KAAK,GACN,EAAE,UAAU,2CAmBZ;AAED,YAAY,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { View, Text } from 'react-native';
|
|
3
|
+
import { cn } from '../../utils/cn';
|
|
4
|
+
const variantClasses = {
|
|
5
|
+
default: {
|
|
6
|
+
container: 'bg-primary',
|
|
7
|
+
text: 'text-primary-foreground',
|
|
8
|
+
},
|
|
9
|
+
secondary: {
|
|
10
|
+
container: 'bg-secondary',
|
|
11
|
+
text: 'text-secondary-foreground',
|
|
12
|
+
},
|
|
13
|
+
outline: {
|
|
14
|
+
container: 'border border-border bg-transparent',
|
|
15
|
+
text: 'text-foreground',
|
|
16
|
+
},
|
|
17
|
+
destructive: {
|
|
18
|
+
container: 'bg-destructive',
|
|
19
|
+
text: 'text-destructive-foreground',
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
export function Badge({ children, variant = 'default', className, style, }) {
|
|
23
|
+
const variantStyle = variantClasses[variant];
|
|
24
|
+
const containerClasses = cn('px-2.5 py-0.5 rounded-full', variantStyle.container, className);
|
|
25
|
+
const textClasses = cn('text-xs font-semibold', variantStyle.text);
|
|
26
|
+
return (_jsx(View, { "data-slot": "badge", className: containerClasses, style: style, children: _jsx(Text, { className: textClasses, children: children }) }));
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=badge.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"badge.js","sourceRoot":"","sources":["../../../../src/native/components/common/badge.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAkB,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAWpC,MAAM,cAAc,GAA8D;IAChF,OAAO,EAAE;QACP,SAAS,EAAE,YAAY;QACvB,IAAI,EAAE,yBAAyB;KAChC;IACD,SAAS,EAAE;QACT,SAAS,EAAE,cAAc;QACzB,IAAI,EAAE,2BAA2B;KAClC;IACD,OAAO,EAAE;QACP,SAAS,EAAE,qCAAqC;QAChD,IAAI,EAAE,iBAAiB;KACxB;IACD,WAAW,EAAE;QACX,SAAS,EAAE,gBAAgB;QAC3B,IAAI,EAAE,6BAA6B;KACpC;CACF,CAAC;AAEF,MAAM,UAAU,KAAK,CAAC,EACpB,QAAQ,EACR,OAAO,GAAG,SAAS,EACnB,SAAS,EACT,KAAK,GACM;IACX,MAAM,YAAY,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAE7C,MAAM,gBAAgB,GAAG,EAAE,CACzB,4BAA4B,EAC5B,YAAY,CAAC,SAAS,EACtB,SAAS,CACV,CAAC;IAEF,MAAM,WAAW,GAAG,EAAE,CACpB,uBAAuB,EACvB,YAAY,CAAC,IAAI,CAClB,CAAC;IAEF,OAAO,CACL,KAAC,IAAI,iBAAW,OAAO,EAAC,SAAS,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,YAC/D,KAAC,IAAI,IAAC,SAAS,EAAE,WAAW,YAAG,QAAQ,GAAQ,GAC1C,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { type PressableProps, type TextStyle } from 'react-native';
|
|
3
|
+
type ButtonVariant = 'default' | 'secondary' | 'outline' | 'ghost' | 'destructive' | 'link';
|
|
4
|
+
type ButtonSize = 'default' | 'sm' | 'lg' | 'icon';
|
|
5
|
+
export interface ButtonProps extends Omit<PressableProps, 'children'> {
|
|
6
|
+
variant?: ButtonVariant;
|
|
7
|
+
size?: ButtonSize;
|
|
8
|
+
loading?: boolean;
|
|
9
|
+
disabled?: boolean;
|
|
10
|
+
children?: React.ReactNode;
|
|
11
|
+
textStyle?: TextStyle;
|
|
12
|
+
}
|
|
13
|
+
export declare function Button({ variant, size, loading, disabled, children, className, textStyle, ...props }: ButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export type { ButtonVariant, ButtonSize };
|
|
15
|
+
//# sourceMappingURL=button.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button.d.ts","sourceRoot":"","sources":["../../../../src/native/components/common/button.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAGL,KAAK,cAAc,EACnB,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAItB,KAAK,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,aAAa,GAAG,MAAM,CAAC;AAC5F,KAAK,UAAU,GAAG,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;AAEnD,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,cAAc,EAAE,UAAU,CAAC;IACnE,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,SAAS,CAAC;CACvB;AAkDD,wBAAgB,MAAM,CAAC,EACrB,OAAmB,EACnB,IAAgB,EAChB,OAAe,EACf,QAAgB,EAChB,QAAQ,EACR,SAAS,EACT,SAAS,EACT,GAAG,KAAK,EACT,EAAE,WAAW,2CA0Cb;AAGD,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Pressable, ActivityIndicator, } from 'react-native';
|
|
3
|
+
import { cn } from '../../utils/cn';
|
|
4
|
+
const variantClasses = {
|
|
5
|
+
default: {
|
|
6
|
+
container: 'bg-accent active:brightness-90',
|
|
7
|
+
text: 'text-white',
|
|
8
|
+
},
|
|
9
|
+
secondary: {
|
|
10
|
+
container: 'bg-primary active:brightness-90',
|
|
11
|
+
text: 'text-white',
|
|
12
|
+
},
|
|
13
|
+
outline: {
|
|
14
|
+
container: 'border-2 border-primary bg-transparent active:bg-primary/10',
|
|
15
|
+
text: 'text-primary',
|
|
16
|
+
},
|
|
17
|
+
ghost: {
|
|
18
|
+
container: 'bg-transparent active:bg-primary/10',
|
|
19
|
+
text: 'text-primary',
|
|
20
|
+
},
|
|
21
|
+
destructive: {
|
|
22
|
+
container: 'bg-red-600 active:bg-red-700',
|
|
23
|
+
text: 'text-white',
|
|
24
|
+
},
|
|
25
|
+
link: {
|
|
26
|
+
container: 'bg-transparent',
|
|
27
|
+
text: 'text-primary underline',
|
|
28
|
+
},
|
|
29
|
+
};
|
|
30
|
+
const sizeClasses = {
|
|
31
|
+
default: {
|
|
32
|
+
container: 'h-10 px-5 py-2',
|
|
33
|
+
text: 'text-sm font-semibold',
|
|
34
|
+
},
|
|
35
|
+
sm: {
|
|
36
|
+
container: 'h-8 px-3 rounded-md',
|
|
37
|
+
text: 'text-xs font-semibold',
|
|
38
|
+
},
|
|
39
|
+
lg: {
|
|
40
|
+
container: 'h-12 px-8 rounded-md',
|
|
41
|
+
text: 'text-base font-semibold',
|
|
42
|
+
},
|
|
43
|
+
icon: {
|
|
44
|
+
container: 'h-10 w-10',
|
|
45
|
+
text: 'text-sm',
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
export function Button({ variant = 'default', size = 'default', loading = false, disabled = false, children, className, textStyle, ...props }) {
|
|
49
|
+
const variantStyle = variantClasses[variant];
|
|
50
|
+
const sizeStyle = sizeClasses[size];
|
|
51
|
+
const containerClasses = cn('flex-row items-center justify-center gap-2 rounded-md', 'disabled:opacity-40 disabled:pointer-events-none', variantStyle.container, sizeStyle.container, className);
|
|
52
|
+
const _textClasses = cn(variantStyle.text, sizeStyle.text, textStyle);
|
|
53
|
+
return (_jsx(Pressable, { "data-slot": "button", "data-variant": variant, "data-size": size, className: containerClasses, disabled: disabled || loading, ...props, children: loading ? (_jsx(ActivityIndicator, { size: "small", color: variantStyle.text.includes('white') ? '#fff' : '#8B5CF6' })) : (children) }));
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"button.js","sourceRoot":"","sources":["../../../../src/native/components/common/button.tsx"],"names":[],"mappings":";AAMA,OAAO,EACL,SAAS,EACT,iBAAiB,GAGlB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAgBpC,MAAM,cAAc,GAA+D;IACjF,OAAO,EAAE;QACP,SAAS,EAAE,gCAAgC;QAC3C,IAAI,EAAE,YAAY;KACnB;IACD,SAAS,EAAE;QACT,SAAS,EAAE,iCAAiC;QAC5C,IAAI,EAAE,YAAY;KACnB;IACD,OAAO,EAAE;QACP,SAAS,EAAE,6DAA6D;QACxE,IAAI,EAAE,cAAc;KACrB;IACD,KAAK,EAAE;QACL,SAAS,EAAE,qCAAqC;QAChD,IAAI,EAAE,cAAc;KACrB;IACD,WAAW,EAAE;QACX,SAAS,EAAE,8BAA8B;QACzC,IAAI,EAAE,YAAY;KACnB;IACD,IAAI,EAAE;QACJ,SAAS,EAAE,gBAAgB;QAC3B,IAAI,EAAE,wBAAwB;KAC/B;CACF,CAAC;AAGF,MAAM,WAAW,GAA4D;IAC3E,OAAO,EAAE;QACP,SAAS,EAAE,gBAAgB;QAC3B,IAAI,EAAE,uBAAuB;KAC9B;IACD,EAAE,EAAE;QACF,SAAS,EAAE,qBAAqB;QAChC,IAAI,EAAE,uBAAuB;KAC9B;IACD,EAAE,EAAE;QACF,SAAS,EAAE,sBAAsB;QACjC,IAAI,EAAE,yBAAyB;KAChC;IACD,IAAI,EAAE;QACJ,SAAS,EAAE,WAAW;QACtB,IAAI,EAAE,SAAS;KAChB;CACF,CAAC;AAEF,MAAM,UAAU,MAAM,CAAC,EACrB,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,SAAS,EAChB,OAAO,GAAG,KAAK,EACf,QAAQ,GAAG,KAAK,EAChB,QAAQ,EACR,SAAS,EACT,SAAS,EACT,GAAG,KAAK,EACI;IACZ,MAAM,YAAY,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAEpC,MAAM,gBAAgB,GAAG,EAAE,CAEzB,uDAAuD,EACvD,kDAAkD,EAElD,YAAY,CAAC,SAAS,EAEtB,SAAS,CAAC,SAAS,EAEnB,SAAS,CACV,CAAC;IAGF,MAAM,YAAY,GAAG,EAAE,CACrB,YAAY,CAAC,IAAI,EACjB,SAAS,CAAC,IAAI,EACd,SAAS,CACV,CAAC;IAEF,OAAO,CACL,KAAC,SAAS,iBACE,QAAQ,kBACJ,OAAO,eACV,IAAI,EACf,SAAS,EAAE,gBAAgB,EAC3B,QAAQ,EAAE,QAAQ,IAAI,OAAO,KACzB,KAAK,YAER,OAAO,CAAC,CAAC,CAAC,CACT,KAAC,iBAAiB,IAChB,IAAI,EAAC,OAAO,EACZ,KAAK,EAAE,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,GAC/D,CACH,CAAC,CAAC,CAAC,CACF,QAAQ,CACT,GACS,CACb,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { type ViewStyle } from 'react-native';
|
|
3
|
+
export interface CardProps {
|
|
4
|
+
children?: React.ReactNode;
|
|
5
|
+
className?: string;
|
|
6
|
+
style?: ViewStyle;
|
|
7
|
+
}
|
|
8
|
+
export declare function Card({ children, className, style }: CardProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export interface CardHeaderProps {
|
|
10
|
+
children?: React.ReactNode;
|
|
11
|
+
className?: string;
|
|
12
|
+
style?: ViewStyle;
|
|
13
|
+
}
|
|
14
|
+
export declare function CardHeader({ children, className, style }: CardHeaderProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export interface CardTitleProps {
|
|
16
|
+
children?: React.ReactNode;
|
|
17
|
+
className?: string;
|
|
18
|
+
}
|
|
19
|
+
export declare function CardTitle({ children, className }: CardTitleProps): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
export interface CardDescriptionProps {
|
|
21
|
+
children?: React.ReactNode;
|
|
22
|
+
className?: string;
|
|
23
|
+
}
|
|
24
|
+
export declare function CardDescription({ children, className }: CardDescriptionProps): import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
export interface CardContentProps {
|
|
26
|
+
children?: React.ReactNode;
|
|
27
|
+
className?: string;
|
|
28
|
+
style?: ViewStyle;
|
|
29
|
+
}
|
|
30
|
+
export declare function CardContent({ children, className, style }: CardContentProps): import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
export interface CardFooterProps {
|
|
32
|
+
children?: React.ReactNode;
|
|
33
|
+
className?: string;
|
|
34
|
+
style?: ViewStyle;
|
|
35
|
+
}
|
|
36
|
+
export declare function CardFooter({ children, className, style }: CardFooterProps): import("react/jsx-runtime").JSX.Element;
|
|
37
|
+
//# sourceMappingURL=card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../../../src/native/components/common/card.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAG1D,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,wBAAgB,IAAI,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,SAAS,2CAW7D;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,2CAUzE;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,cAAc,2CAShE;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,oBAAoB,2CAS5E;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,wBAAgB,WAAW,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,gBAAgB,2CAU3E;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,eAAe,2CAUzE"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { View, Text } from 'react-native';
|
|
3
|
+
import { cn } from '../../utils/cn';
|
|
4
|
+
export function Card({ children, className, style }) {
|
|
5
|
+
const containerClasses = cn('bg-card rounded-xl border border-border p-6 shadow-sm', className);
|
|
6
|
+
return (_jsx(View, { "data-slot": "card", className: containerClasses, style: style, children: children }));
|
|
7
|
+
}
|
|
8
|
+
export function CardHeader({ children, className, style }) {
|
|
9
|
+
return (_jsx(View, { "data-slot": "card-header", className: cn('mb-2 gap-2', className), style: style, children: children }));
|
|
10
|
+
}
|
|
11
|
+
export function CardTitle({ children, className }) {
|
|
12
|
+
return (_jsx(Text, { "data-slot": "card-title", className: cn('text-lg font-semibold text-foreground', className), children: children }));
|
|
13
|
+
}
|
|
14
|
+
export function CardDescription({ children, className }) {
|
|
15
|
+
return (_jsx(Text, { "data-slot": "card-description", className: cn('text-sm text-muted-foreground', className), children: children }));
|
|
16
|
+
}
|
|
17
|
+
export function CardContent({ children, className, style }) {
|
|
18
|
+
return (_jsx(View, { "data-slot": "card-content", className: cn('py-2', className), style: style, children: children }));
|
|
19
|
+
}
|
|
20
|
+
export function CardFooter({ children, className, style }) {
|
|
21
|
+
return (_jsx(View, { "data-slot": "card-footer", className: cn('flex-row items-center gap-2 pt-4', className), style: style, children: children }));
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"card.js","sourceRoot":"","sources":["../../../../src/native/components/common/card.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAkB,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAQpC,MAAM,UAAU,IAAI,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAa;IAC5D,MAAM,gBAAgB,GAAG,EAAE,CACzB,uDAAuD,EACvD,SAAS,CACV,CAAC;IAEF,OAAO,CACL,KAAC,IAAI,iBAAW,MAAM,EAAC,SAAS,EAAE,gBAAgB,EAAE,KAAK,EAAE,KAAK,YAC7D,QAAQ,GACJ,CACR,CAAC;AACJ,CAAC;AAQD,MAAM,UAAU,UAAU,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAmB;IACxE,OAAO,CACL,KAAC,IAAI,iBACO,aAAa,EACvB,SAAS,EAAE,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC,EACtC,KAAK,EAAE,KAAK,YAEX,QAAQ,GACJ,CACR,CAAC;AACJ,CAAC;AAOD,MAAM,UAAU,SAAS,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAkB;IAC/D,OAAO,CACL,KAAC,IAAI,iBACO,YAAY,EACtB,SAAS,EAAE,EAAE,CAAC,uCAAuC,EAAE,SAAS,CAAC,YAEhE,QAAQ,GACJ,CACR,CAAC;AACJ,CAAC;AAOD,MAAM,UAAU,eAAe,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAwB;IAC3E,OAAO,CACL,KAAC,IAAI,iBACO,kBAAkB,EAC5B,SAAS,EAAE,EAAE,CAAC,+BAA+B,EAAE,SAAS,CAAC,YAExD,QAAQ,GACJ,CACR,CAAC;AACJ,CAAC;AAQD,MAAM,UAAU,WAAW,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAoB;IAC1E,OAAO,CACL,KAAC,IAAI,iBACO,cAAc,EACxB,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,EAChC,KAAK,EAAE,KAAK,YAEX,QAAQ,GACJ,CACR,CAAC;AACJ,CAAC;AAQD,MAAM,UAAU,UAAU,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAmB;IACxE,OAAO,CACL,KAAC,IAAI,iBACO,aAAa,EACvB,SAAS,EAAE,EAAE,CAAC,kCAAkC,EAAE,SAAS,CAAC,EAC5D,KAAK,EAAE,KAAK,YAEX,QAAQ,GACJ,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type PressableProps } from 'react-native';
|
|
2
|
+
export interface CheckboxProps extends Omit<PressableProps, 'onPress'> {
|
|
3
|
+
checked?: boolean;
|
|
4
|
+
onCheckedChange?: (checked: boolean) => void;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare function Checkbox({ checked, onCheckedChange, disabled, className, ...props }: CheckboxProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
//# sourceMappingURL=checkbox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../../../src/native/components/common/checkbox.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAmB,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAGpE,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC;IACpE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,QAAQ,CAAC,EACvB,OAAe,EACf,eAAe,EACf,QAAgB,EAChB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,aAAa,2CA4Bf"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Pressable, View } from 'react-native';
|
|
3
|
+
import { cn } from '../../utils/cn';
|
|
4
|
+
export function Checkbox({ checked = false, onCheckedChange, disabled = false, className, ...props }) {
|
|
5
|
+
const handlePress = () => {
|
|
6
|
+
if (!disabled && onCheckedChange) {
|
|
7
|
+
onCheckedChange(!checked);
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
const containerClasses = cn('h-5 w-5 rounded border-2 items-center justify-center', checked ? 'bg-primary border-primary' : 'border-input bg-transparent', disabled && 'opacity-50', className);
|
|
11
|
+
return (_jsx(Pressable, { "data-slot": "checkbox", "data-checked": checked, className: containerClasses, onPress: handlePress, disabled: disabled, ...props, children: checked && (_jsx(View, { className: "h-2.5 w-2.5 bg-white rounded-sm" })) }));
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=checkbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../../../src/native/components/common/checkbox.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAuB,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAQpC,MAAM,UAAU,QAAQ,CAAC,EACvB,OAAO,GAAG,KAAK,EACf,eAAe,EACf,QAAQ,GAAG,KAAK,EAChB,SAAS,EACT,GAAG,KAAK,EACM;IACd,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,IAAI,CAAC,QAAQ,IAAI,eAAe,EAAE,CAAC;YACjC,eAAe,CAAC,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,gBAAgB,GAAG,EAAE,CACzB,sDAAsD,EACtD,OAAO,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,6BAA6B,EACrE,QAAQ,IAAI,YAAY,EACxB,SAAS,CACV,CAAC;IAEF,OAAO,CACL,KAAC,SAAS,iBACE,UAAU,kBACN,OAAO,EACrB,SAAS,EAAE,gBAAgB,EAC3B,OAAO,EAAE,WAAW,EACpB,QAAQ,EAAE,QAAQ,KACd,KAAK,YAER,OAAO,IAAI,CACV,KAAC,IAAI,IAAC,SAAS,EAAC,iCAAiC,GAAG,CACrD,GACS,CACb,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type TextInputProps } from 'react-native';
|
|
2
|
+
export interface InputProps extends TextInputProps {
|
|
3
|
+
containerClassName?: string;
|
|
4
|
+
}
|
|
5
|
+
export declare function Input({ className, containerClassName: _containerClassName, placeholderTextColor, ...props }: InputProps): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
//# sourceMappingURL=input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input.d.ts","sourceRoot":"","sources":["../../../../src/native/components/common/input.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9D,MAAM,WAAW,UAAW,SAAQ,cAAc;IAChD,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,wBAAgB,KAAK,CAAC,EACpB,SAAS,EACT,kBAAkB,EAAE,mBAAmB,EACvC,oBAAoB,EACpB,GAAG,KAAK,EACT,EAAE,UAAU,2CAuBZ"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { TextInput } from 'react-native';
|
|
3
|
+
import { cn } from '../../utils/cn';
|
|
4
|
+
export function Input({ className, containerClassName: _containerClassName, placeholderTextColor, ...props }) {
|
|
5
|
+
const inputClasses = cn('h-9 w-full rounded-md border border-input bg-transparent', 'px-3 py-1 text-sm', 'placeholder:text-muted-foreground', 'focus:border-ring focus:ring-ring/50', 'disabled:opacity-50 disabled:pointer-events-none', className);
|
|
6
|
+
return (_jsx(TextInput, { "data-slot": "input", className: inputClasses, placeholderTextColor: placeholderTextColor || '#A1A1AA', ...props }));
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=input.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input.js","sourceRoot":"","sources":["../../../../src/native/components/common/input.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,SAAS,EAAuB,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAMpC,MAAM,UAAU,KAAK,CAAC,EACpB,SAAS,EACT,kBAAkB,EAAE,mBAAmB,EACvC,oBAAoB,EACpB,GAAG,KAAK,EACG;IACX,MAAM,YAAY,GAAG,EAAE,CAErB,0DAA0D,EAC1D,mBAAmB,EAEnB,mCAAmC,EAEnC,sCAAsC,EAEtC,kDAAkD,EAElD,SAAS,CACV,CAAC;IAEF,OAAO,CACL,KAAC,SAAS,iBACE,OAAO,EACjB,SAAS,EAAE,YAAY,EACvB,oBAAoB,EAAE,oBAAoB,IAAI,SAAS,KACnD,KAAK,GACT,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type TextProps } from 'react-native';
|
|
2
|
+
export interface LabelProps extends TextProps {
|
|
3
|
+
children?: React.ReactNode;
|
|
4
|
+
}
|
|
5
|
+
export declare function Label({ children, className, ...props }: LabelProps): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
//# sourceMappingURL=label.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"label.d.ts","sourceRoot":"","sources":["../../../../src/native/components/common/label.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAQ,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAGpD,MAAM,WAAW,UAAW,SAAQ,SAAS;IAC3C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,wBAAgB,KAAK,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,2CAalE"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Text } from 'react-native';
|
|
3
|
+
import { cn } from '../../utils/cn';
|
|
4
|
+
export function Label({ children, className, ...props }) {
|
|
5
|
+
return (_jsx(Text, { "data-slot": "label", className: cn('text-sm font-medium text-foreground', className), ...props, children: children }));
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=label.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"label.js","sourceRoot":"","sources":["../../../../src/native/components/common/label.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,IAAI,EAAkB,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAMpC,MAAM,UAAU,KAAK,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,KAAK,EAAc;IACjE,OAAO,CACL,KAAC,IAAI,iBACO,OAAO,EACjB,SAAS,EAAE,EAAE,CACX,qCAAqC,EACrC,SAAS,CACV,KACG,KAAK,YAER,QAAQ,GACJ,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type TextInputProps } from 'react-native';
|
|
2
|
+
export interface TextareaProps extends TextInputProps {
|
|
3
|
+
rows?: number;
|
|
4
|
+
}
|
|
5
|
+
export declare function Textarea({ className, rows, placeholderTextColor, ...props }: TextareaProps): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
//# sourceMappingURL=textarea.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textarea.d.ts","sourceRoot":"","sources":["../../../../src/native/components/common/textarea.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAa,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAG9D,MAAM,WAAW,aAAc,SAAQ,cAAc;IACnD,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,QAAQ,CAAC,EACvB,SAAS,EACT,IAAQ,EACR,oBAAoB,EACpB,GAAG,KAAK,EACT,EAAE,aAAa,2CAyBf"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { TextInput } from 'react-native';
|
|
3
|
+
import { cn } from '../../utils/cn';
|
|
4
|
+
export function Textarea({ className, rows = 3, placeholderTextColor, ...props }) {
|
|
5
|
+
const textareaClasses = cn('w-full rounded-md border border-input bg-transparent', 'px-3 py-2 text-sm', 'placeholder:text-muted-foreground', 'focus:border-ring focus:ring-ring/50', 'disabled:opacity-50 disabled:pointer-events-none', className);
|
|
6
|
+
const minHeight = rows * 20;
|
|
7
|
+
return (_jsx(TextInput, { "data-slot": "textarea", className: textareaClasses, multiline: true, numberOfLines: rows, placeholderTextColor: placeholderTextColor || '#A1A1AA', style: { minHeight }, textAlignVertical: "top", ...props }));
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=textarea.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"textarea.js","sourceRoot":"","sources":["../../../../src/native/components/common/textarea.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,SAAS,EAAuB,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAMpC,MAAM,UAAU,QAAQ,CAAC,EACvB,SAAS,EACT,IAAI,GAAG,CAAC,EACR,oBAAoB,EACpB,GAAG,KAAK,EACM;IACd,MAAM,eAAe,GAAG,EAAE,CACxB,sDAAsD,EACtD,mBAAmB,EACnB,mCAAmC,EACnC,sCAAsC,EACtC,kDAAkD,EAClD,SAAS,CACV,CAAC;IAGF,MAAM,SAAS,GAAG,IAAI,GAAG,EAAE,CAAC;IAE5B,OAAO,CACL,KAAC,SAAS,iBACE,UAAU,EACpB,SAAS,EAAE,eAAe,EAC1B,SAAS,QACT,aAAa,EAAE,IAAI,EACnB,oBAAoB,EAAE,oBAAoB,IAAI,SAAS,EACvD,KAAK,EAAE,EAAE,SAAS,EAAE,EACpB,iBAAiB,EAAC,KAAK,KACnB,KAAK,GACT,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { type ViewStyle } from 'react-native';
|
|
3
|
+
type AlertVariant = 'default' | 'destructive' | 'success' | 'warning';
|
|
4
|
+
export interface AlertProps {
|
|
5
|
+
children?: React.ReactNode;
|
|
6
|
+
variant?: AlertVariant;
|
|
7
|
+
className?: string;
|
|
8
|
+
style?: ViewStyle;
|
|
9
|
+
}
|
|
10
|
+
export declare function Alert({ children, variant, className, style, }: AlertProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export interface AlertTitleProps {
|
|
12
|
+
children?: React.ReactNode;
|
|
13
|
+
className?: string;
|
|
14
|
+
}
|
|
15
|
+
export declare function AlertTitle({ children, className }: AlertTitleProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export interface AlertDescriptionProps {
|
|
17
|
+
children?: React.ReactNode;
|
|
18
|
+
className?: string;
|
|
19
|
+
}
|
|
20
|
+
export declare function AlertDescription({ children, className }: AlertDescriptionProps): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
export type { AlertVariant };
|
|
22
|
+
//# sourceMappingURL=alert.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["../../../../src/native/components/ui/alert.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAG1D,KAAK,YAAY,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS,GAAG,SAAS,CAAC;AAEtE,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAqBD,wBAAgB,KAAK,CAAC,EACpB,QAAQ,EACR,OAAmB,EACnB,SAAS,EACT,KAAK,GACN,EAAE,UAAU,2CAiBZ;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,eAAe,2CASlE;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,qBAAqB,2CAS9E;AAED,YAAY,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { View, Text } from 'react-native';
|
|
3
|
+
import { cn } from '../../utils/cn';
|
|
4
|
+
const variantClasses = {
|
|
5
|
+
default: {
|
|
6
|
+
container: 'bg-card border-border',
|
|
7
|
+
text: 'text-foreground',
|
|
8
|
+
},
|
|
9
|
+
destructive: {
|
|
10
|
+
container: 'border-red-500/50 bg-red-500/10',
|
|
11
|
+
text: 'text-red-400',
|
|
12
|
+
},
|
|
13
|
+
success: {
|
|
14
|
+
container: 'border-green-500/50 bg-green-500/10',
|
|
15
|
+
text: 'text-green-400',
|
|
16
|
+
},
|
|
17
|
+
warning: {
|
|
18
|
+
container: 'border-amber-500/50 bg-amber-500/10',
|
|
19
|
+
text: 'text-amber-400',
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
export function Alert({ children, variant = 'default', className, style, }) {
|
|
23
|
+
const variantStyle = variantClasses[variant];
|
|
24
|
+
return (_jsx(View, { "data-slot": "alert", "data-variant": variant, className: cn('rounded-lg border p-4', variantStyle.container, className), style: style, children: children }));
|
|
25
|
+
}
|
|
26
|
+
export function AlertTitle({ children, className }) {
|
|
27
|
+
return (_jsx(Text, { "data-slot": "alert-title", className: cn('text-base font-semibold mb-1', className), children: children }));
|
|
28
|
+
}
|
|
29
|
+
export function AlertDescription({ children, className }) {
|
|
30
|
+
return (_jsx(Text, { "data-slot": "alert-description", className: cn('text-sm opacity-80', className), children: children }));
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=alert.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"alert.js","sourceRoot":"","sources":["../../../../src/native/components/ui/alert.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAkB,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAWpC,MAAM,cAAc,GAA8D;IAChF,OAAO,EAAE;QACP,SAAS,EAAE,uBAAuB;QAClC,IAAI,EAAE,iBAAiB;KACxB;IACD,WAAW,EAAE;QACX,SAAS,EAAE,iCAAiC;QAC5C,IAAI,EAAE,cAAc;KACrB;IACD,OAAO,EAAE;QACP,SAAS,EAAE,qCAAqC;QAChD,IAAI,EAAE,gBAAgB;KACvB;IACD,OAAO,EAAE;QACP,SAAS,EAAE,qCAAqC;QAChD,IAAI,EAAE,gBAAgB;KACvB;CACF,CAAC;AAEF,MAAM,UAAU,KAAK,CAAC,EACpB,QAAQ,EACR,OAAO,GAAG,SAAS,EACnB,SAAS,EACT,KAAK,GACM;IACX,MAAM,YAAY,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAE7C,OAAO,CACL,KAAC,IAAI,iBACO,OAAO,kBACH,OAAO,EACrB,SAAS,EAAE,EAAE,CACX,uBAAuB,EACvB,YAAY,CAAC,SAAS,EACtB,SAAS,CACV,EACD,KAAK,EAAE,KAAK,YAEX,QAAQ,GACJ,CACR,CAAC;AACJ,CAAC;AAOD,MAAM,UAAU,UAAU,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAmB;IACjE,OAAO,CACL,KAAC,IAAI,iBACO,aAAa,EACvB,SAAS,EAAE,EAAE,CAAC,8BAA8B,EAAE,SAAS,CAAC,YAEvD,QAAQ,GACJ,CACR,CAAC;AACJ,CAAC;AAOD,MAAM,UAAU,gBAAgB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAyB;IAC7E,OAAO,CACL,KAAC,IAAI,iBACO,mBAAmB,EAC7B,SAAS,EAAE,EAAE,CAAC,oBAAoB,EAAE,SAAS,CAAC,YAE7C,QAAQ,GACJ,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { type ImageStyle, type ViewStyle } from 'react-native';
|
|
3
|
+
export interface AvatarProps {
|
|
4
|
+
children?: React.ReactNode;
|
|
5
|
+
className?: string;
|
|
6
|
+
style?: ViewStyle;
|
|
7
|
+
size?: 'sm' | 'md' | 'lg';
|
|
8
|
+
}
|
|
9
|
+
export declare function Avatar({ children, className, style, size }: AvatarProps): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export interface AvatarImageProps {
|
|
11
|
+
source: {
|
|
12
|
+
uri: string;
|
|
13
|
+
};
|
|
14
|
+
className?: string;
|
|
15
|
+
style?: ImageStyle;
|
|
16
|
+
}
|
|
17
|
+
export declare function AvatarImage({ source, className, style }: AvatarImageProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export interface AvatarFallbackProps {
|
|
19
|
+
children?: React.ReactNode;
|
|
20
|
+
className?: string;
|
|
21
|
+
}
|
|
22
|
+
export declare function AvatarFallback({ children, className }: AvatarFallbackProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
//# sourceMappingURL=avatar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar.d.ts","sourceRoot":"","sources":["../../../../src/native/components/ui/avatar.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAqB,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAGlF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CAC3B;AAQD,wBAAgB,MAAM,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,IAAW,EAAE,EAAE,WAAW,2CAc9E;AAED,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,gBAAgB,2CAUzE;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,mBAAmB,2CAW1E"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { View, Image, Text } from 'react-native';
|
|
3
|
+
import { cn } from '../../utils/cn';
|
|
4
|
+
const sizeClasses = {
|
|
5
|
+
sm: 'h-8 w-8',
|
|
6
|
+
md: 'h-10 w-10',
|
|
7
|
+
lg: 'h-12 w-12',
|
|
8
|
+
};
|
|
9
|
+
export function Avatar({ children, className, style, size = 'md' }) {
|
|
10
|
+
return (_jsx(View, { "data-slot": "avatar", className: cn('rounded-full overflow-hidden items-center justify-center bg-muted', sizeClasses[size], className), style: style, children: children }));
|
|
11
|
+
}
|
|
12
|
+
export function AvatarImage({ source, className, style }) {
|
|
13
|
+
return (_jsx(Image, { "data-slot": "avatar-image", source: source, className: cn('h-full w-full', className), style: style, resizeMode: "cover" }));
|
|
14
|
+
}
|
|
15
|
+
export function AvatarFallback({ children, className }) {
|
|
16
|
+
return (_jsx(View, { "data-slot": "avatar-fallback", className: cn('h-full w-full items-center justify-center bg-muted', className), children: _jsx(Text, { className: "text-sm font-semibold text-muted-foreground", children: children }) }));
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=avatar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"avatar.js","sourceRoot":"","sources":["../../../../src/native/components/ui/avatar.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAmC,MAAM,cAAc,CAAC;AAClF,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AASpC,MAAM,WAAW,GAAG;IAClB,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,WAAW;IACf,EAAE,EAAE,WAAW;CAChB,CAAC;AAEF,MAAM,UAAU,MAAM,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,GAAG,IAAI,EAAe;IAC7E,OAAO,CACL,KAAC,IAAI,iBACO,QAAQ,EAClB,SAAS,EAAE,EAAE,CACX,mEAAmE,EACnE,WAAW,CAAC,IAAI,CAAC,EACjB,SAAS,CACV,EACD,KAAK,EAAE,KAAK,YAEX,QAAQ,GACJ,CACR,CAAC;AACJ,CAAC;AAQD,MAAM,UAAU,WAAW,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAoB;IACxE,OAAO,CACL,KAAC,KAAK,iBACM,cAAc,EACxB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC,EACzC,KAAK,EAAE,KAAK,EACZ,UAAU,EAAC,OAAO,GAClB,CACH,CAAC;AACJ,CAAC;AAOD,MAAM,UAAU,cAAc,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAuB;IACzE,OAAO,CACL,KAAC,IAAI,iBACO,iBAAiB,EAC3B,SAAS,EAAE,EAAE,CAAC,oDAAoD,EAAE,SAAS,CAAC,YAE9E,KAAC,IAAI,IAAC,SAAS,EAAC,6CAA6C,YAC1D,QAAQ,GACJ,GACF,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { type ViewStyle } from 'react-native';
|
|
3
|
+
type EmptyStateVariant = 'default' | 'compact';
|
|
4
|
+
export interface EmptyStateProps {
|
|
5
|
+
icon?: React.ReactNode;
|
|
6
|
+
title?: string;
|
|
7
|
+
description?: string;
|
|
8
|
+
action?: React.ReactNode;
|
|
9
|
+
variant?: EmptyStateVariant;
|
|
10
|
+
className?: string;
|
|
11
|
+
style?: ViewStyle;
|
|
12
|
+
}
|
|
13
|
+
export declare function EmptyState({ icon, title, description, action, variant, className, style, }: EmptyStateProps): import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export type { EmptyStateVariant };
|
|
15
|
+
//# sourceMappingURL=empty-state.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"empty-state.d.ts","sourceRoot":"","sources":["../../../../src/native/components/ui/empty-state.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAG1D,KAAK,iBAAiB,GAAG,SAAS,GAAG,SAAS,CAAC;AAE/C,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,KAAoB,EACpB,WAAW,EACX,MAAM,EACN,OAAmB,EACnB,SAAS,EACT,KAAK,GACN,EAAE,eAAe,2CA4CjB;AAED,YAAY,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { View, Text } from 'react-native';
|
|
3
|
+
import { cn } from '../../utils/cn';
|
|
4
|
+
export function EmptyState({ icon, title = 'No results', description, action, variant = 'default', className, style, }) {
|
|
5
|
+
const isCompact = variant === 'compact';
|
|
6
|
+
return (_jsxs(View, { "data-slot": "empty-state", "data-variant": variant, className: cn('items-center justify-center py-8 px-4', isCompact ? 'py-4' : 'py-8', className), style: style, children: [icon && (_jsx(View, { className: cn('mb-4', isCompact && 'mb-2'), children: icon })), _jsx(Text, { className: cn('text-center font-semibold text-muted-foreground', isCompact ? 'text-sm' : 'text-lg'), children: title }), description && (_jsx(Text, { className: cn('text-center text-muted-foreground mt-1', isCompact ? 'text-xs' : 'text-sm'), children: description })), action && (_jsx(View, { className: "mt-4", children: action }))] }));
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=empty-state.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"empty-state.js","sourceRoot":"","sources":["../../../../src/native/components/ui/empty-state.tsx"],"names":[],"mappings":";AAMA,OAAO,EAAE,IAAI,EAAE,IAAI,EAAkB,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AAcpC,MAAM,UAAU,UAAU,CAAC,EACzB,IAAI,EACJ,KAAK,GAAG,YAAY,EACpB,WAAW,EACX,MAAM,EACN,OAAO,GAAG,SAAS,EACnB,SAAS,EACT,KAAK,GACW;IAChB,MAAM,SAAS,GAAG,OAAO,KAAK,SAAS,CAAC;IAExC,OAAO,CACL,MAAC,IAAI,iBACO,aAAa,kBACT,OAAO,EACrB,SAAS,EAAE,EAAE,CACX,uCAAuC,EACvC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAC3B,SAAS,CACV,EACD,KAAK,EAAE,KAAK,aAEX,IAAI,IAAI,CACP,KAAC,IAAI,IAAC,SAAS,EAAE,EAAE,CAAC,MAAM,EAAE,SAAS,IAAI,MAAM,CAAC,YAC7C,IAAI,GACA,CACR,EACD,KAAC,IAAI,IACH,SAAS,EAAE,EAAE,CACX,iDAAiD,EACjD,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAClC,YAEA,KAAK,GACD,EACN,WAAW,IAAI,CACd,KAAC,IAAI,IACH,SAAS,EAAE,EAAE,CACX,wCAAwC,EACxC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAClC,YAEA,WAAW,GACP,CACR,EACA,MAAM,IAAI,CACT,KAAC,IAAI,IAAC,SAAS,EAAC,MAAM,YACnB,MAAM,GACF,CACR,IACI,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { type ViewStyle } from 'react-native';
|
|
3
|
+
type SpinnerSize = 'sm' | 'md' | 'lg';
|
|
4
|
+
export interface LoadingSpinnerProps {
|
|
5
|
+
size?: SpinnerSize;
|
|
6
|
+
color?: string;
|
|
7
|
+
className?: string;
|
|
8
|
+
style?: ViewStyle;
|
|
9
|
+
}
|
|
10
|
+
export declare function LoadingSpinner({ size, color, className, style, }: LoadingSpinnerProps): import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
export interface LoadingOverlayProps {
|
|
12
|
+
visible: boolean;
|
|
13
|
+
children?: React.ReactNode;
|
|
14
|
+
className?: string;
|
|
15
|
+
}
|
|
16
|
+
export declare function LoadingOverlay({ visible, children, className, }: LoadingOverlayProps): import("react/jsx-runtime").JSX.Element | null;
|
|
17
|
+
export type { SpinnerSize };
|
|
18
|
+
//# sourceMappingURL=loading-spinner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loading-spinner.d.ts","sourceRoot":"","sources":["../../../../src/native/components/ui/loading-spinner.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAI9D,KAAK,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEtC,MAAM,WAAW,mBAAmB;IAClC,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAQD,wBAAgB,cAAc,CAAC,EAC7B,IAAW,EACX,KAAK,EACL,SAAS,EACT,KAAK,GACN,EAAE,mBAAmB,2CAiDrB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,QAAQ,EACR,SAAS,GACV,EAAE,mBAAmB,kDAcrB;AAED,YAAY,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { View, Animated } from 'react-native';
|
|
4
|
+
import { cn } from '../../utils/cn';
|
|
5
|
+
import { colors } from '../../../shared/tokens';
|
|
6
|
+
const sizeMap = {
|
|
7
|
+
sm: 16,
|
|
8
|
+
md: 24,
|
|
9
|
+
lg: 32,
|
|
10
|
+
};
|
|
11
|
+
export function LoadingSpinner({ size = 'md', color, className, style, }) {
|
|
12
|
+
const rotation = React.useRef(new Animated.Value(0)).current;
|
|
13
|
+
const spinnerSize = sizeMap[size];
|
|
14
|
+
const spinnerColor = color || colors.primary.hex;
|
|
15
|
+
React.useEffect(() => {
|
|
16
|
+
const animation = Animated.loop(Animated.timing(rotation, {
|
|
17
|
+
toValue: 1,
|
|
18
|
+
duration: 1000,
|
|
19
|
+
useNativeDriver: true,
|
|
20
|
+
}));
|
|
21
|
+
animation.start();
|
|
22
|
+
return () => animation.stop();
|
|
23
|
+
}, [rotation]);
|
|
24
|
+
const spin = rotation.interpolate({
|
|
25
|
+
inputRange: [0, 1],
|
|
26
|
+
outputRange: ['0deg', '360deg'],
|
|
27
|
+
});
|
|
28
|
+
return (_jsx(Animated.View, { "data-slot": "loading-spinner", "data-size": size, className: cn('items-center justify-center', className), style: [
|
|
29
|
+
{
|
|
30
|
+
width: spinnerSize,
|
|
31
|
+
height: spinnerSize,
|
|
32
|
+
transform: [{ rotate: spin }],
|
|
33
|
+
},
|
|
34
|
+
style,
|
|
35
|
+
], children: _jsx(View, { style: {
|
|
36
|
+
width: spinnerSize,
|
|
37
|
+
height: spinnerSize,
|
|
38
|
+
borderRadius: spinnerSize / 2,
|
|
39
|
+
borderWidth: 2,
|
|
40
|
+
borderColor: spinnerColor,
|
|
41
|
+
borderTopColor: 'transparent',
|
|
42
|
+
} }) }));
|
|
43
|
+
}
|
|
44
|
+
export function LoadingOverlay({ visible, children, className, }) {
|
|
45
|
+
if (!visible)
|
|
46
|
+
return null;
|
|
47
|
+
return (_jsx(View, { "data-slot": "loading-overlay", className: cn('absolute inset-0 bg-background/80 items-center justify-center', className), children: children || _jsx(LoadingSpinner, { size: "lg" }) }));
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=loading-spinner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"loading-spinner.js","sourceRoot":"","sources":["../../../../src/native/components/ui/loading-spinner.tsx"],"names":[],"mappings":";AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAkB,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAWhD,MAAM,OAAO,GAAgC;IAC3C,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;CACP,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,EAC7B,IAAI,GAAG,IAAI,EACX,KAAK,EACL,SAAS,EACT,KAAK,GACe;IACpB,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAC7D,MAAM,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,YAAY,GAAG,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;IAEjD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,CAC7B,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE;YACxB,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,IAAI;YACd,eAAe,EAAE,IAAI;SACtB,CAAC,CACH,CAAC;QAEF,SAAS,CAAC,KAAK,EAAE,CAAC;QAClB,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAChC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEf,MAAM,IAAI,GAAG,QAAQ,CAAC,WAAW,CAAC;QAChC,UAAU,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;QAClB,WAAW,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;KAChC,CAAC,CAAC;IAEH,OAAO,CACL,KAAC,QAAQ,CAAC,IAAI,iBACF,iBAAiB,eAChB,IAAI,EACf,SAAS,EAAE,EAAE,CAAC,6BAA6B,EAAE,SAAS,CAAC,EACvD,KAAK,EAAE;YACL;gBACE,KAAK,EAAE,WAAW;gBAClB,MAAM,EAAE,WAAW;gBACnB,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;aAC9B;YACD,KAAK;SACN,YAED,KAAC,IAAI,IACH,KAAK,EAAE;gBACL,KAAK,EAAE,WAAW;gBAClB,MAAM,EAAE,WAAW;gBACnB,YAAY,EAAE,WAAW,GAAG,CAAC;gBAC7B,WAAW,EAAE,CAAC;gBACd,WAAW,EAAE,YAAY;gBACzB,cAAc,EAAE,aAAa;aAC9B,GACD,GACY,CACjB,CAAC;AACJ,CAAC;AAQD,MAAM,UAAU,cAAc,CAAC,EAC7B,OAAO,EACP,QAAQ,EACR,SAAS,GACW;IACpB,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,OAAO,CACL,KAAC,IAAI,iBACO,iBAAiB,EAC3B,SAAS,EAAE,EAAE,CACX,+DAA+D,EAC/D,SAAS,CACV,YAEA,QAAQ,IAAI,KAAC,cAAc,IAAC,IAAI,EAAC,IAAI,GAAG,GACpC,CACR,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type ViewStyle } from 'react-native';
|
|
2
|
+
export interface ProgressProps {
|
|
3
|
+
value?: number;
|
|
4
|
+
max?: number;
|
|
5
|
+
className?: string;
|
|
6
|
+
style?: ViewStyle;
|
|
7
|
+
}
|
|
8
|
+
export declare function Progress({ value, max, className, style, }: ProgressProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
//# sourceMappingURL=progress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../../../src/native/components/ui/progress.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAkB,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9D,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,wBAAgB,QAAQ,CAAC,EACvB,KAAS,EACT,GAAS,EACT,SAAS,EACT,KAAK,GACN,EAAE,aAAa,2CAkCf"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { View, Animated } from 'react-native';
|
|
4
|
+
import { cn } from '../../utils/cn';
|
|
5
|
+
export function Progress({ value = 0, max = 100, className, style, }) {
|
|
6
|
+
const percentage = Math.min(Math.max((value / max) * 100, 0), 100);
|
|
7
|
+
const animatedWidth = React.useRef(new Animated.Value(0)).current;
|
|
8
|
+
React.useEffect(() => {
|
|
9
|
+
Animated.timing(animatedWidth, {
|
|
10
|
+
toValue: percentage,
|
|
11
|
+
duration: 300,
|
|
12
|
+
useNativeDriver: false,
|
|
13
|
+
}).start();
|
|
14
|
+
}, [percentage, animatedWidth]);
|
|
15
|
+
return (_jsx(View, { "data-slot": "progress", className: cn('h-2 w-full rounded-full bg-muted overflow-hidden', className), style: style, accessibilityRole: "progressbar", accessibilityValue: { min: 0, max, now: value }, children: _jsx(Animated.View, { className: "h-full bg-primary rounded-full", style: {
|
|
16
|
+
width: animatedWidth.interpolate({
|
|
17
|
+
inputRange: [0, 100],
|
|
18
|
+
outputRange: ['0%', '100%'],
|
|
19
|
+
}),
|
|
20
|
+
} }) }));
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=progress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"progress.js","sourceRoot":"","sources":["../../../../src/native/components/ui/progress.tsx"],"names":[],"mappings":";AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAkB,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAC;AASpC,MAAM,UAAU,QAAQ,CAAC,EACvB,KAAK,GAAG,CAAC,EACT,GAAG,GAAG,GAAG,EACT,SAAS,EACT,KAAK,GACS;IACd,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACnE,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;IAElE,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE;YAC7B,OAAO,EAAE,UAAU;YACnB,QAAQ,EAAE,GAAG;YACb,eAAe,EAAE,KAAK;SACvB,CAAC,CAAC,KAAK,EAAE,CAAC;IACb,CAAC,EAAE,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAC;IAEhC,OAAO,CACL,KAAC,IAAI,iBACO,UAAU,EACpB,SAAS,EAAE,EAAE,CACX,kDAAkD,EAClD,SAAS,CACV,EACD,KAAK,EAAE,KAAK,EACZ,iBAAiB,EAAC,aAAa,EAC/B,kBAAkB,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,YAE/C,KAAC,QAAQ,CAAC,IAAI,IACZ,SAAS,EAAC,gCAAgC,EAC1C,KAAK,EAAE;gBACL,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC;oBAC/B,UAAU,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC;oBACpB,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC;iBAC5B,CAAC;aACH,GACD,GACG,CACR,CAAC;AACJ,CAAC"}
|