panelui-native 0.1.0 → 0.4.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/README.md +251 -0
- package/lib/module/components/alert/index.js +107 -24
- package/lib/module/components/alert/index.js.map +1 -1
- package/lib/module/components/avatar/index.js +1 -1
- package/lib/module/components/avatar/index.js.map +1 -1
- package/lib/module/components/badge/index.js +3 -3
- package/lib/module/components/badge/index.js.map +1 -1
- package/lib/module/components/bottom-sheet/index.js +35 -31
- package/lib/module/components/bottom-sheet/index.js.map +1 -1
- package/lib/module/components/button/index.js +44 -15
- package/lib/module/components/button/index.js.map +1 -1
- package/lib/module/components/card/index.js +5 -5
- package/lib/module/components/card/index.js.map +1 -1
- package/lib/module/components/checkbox/index.js +21 -8
- package/lib/module/components/checkbox/index.js.map +1 -1
- package/lib/module/components/dialog/index.js +21 -17
- package/lib/module/components/dialog/index.js.map +1 -1
- package/lib/module/components/empty-state/index.js +178 -0
- package/lib/module/components/empty-state/index.js.map +1 -0
- package/lib/module/components/frame/index.js +100 -0
- package/lib/module/components/frame/index.js.map +1 -0
- package/lib/module/components/inline-select/index.js +159 -0
- package/lib/module/components/inline-select/index.js.map +1 -0
- package/lib/module/components/input/index.js +1 -1
- package/lib/module/components/input/index.js.map +1 -1
- package/lib/module/components/input-group/index.js +132 -0
- package/lib/module/components/input-group/index.js.map +1 -0
- package/lib/module/components/label/index.js +117 -0
- package/lib/module/components/label/index.js.map +1 -0
- package/lib/module/components/progress/index.js +138 -0
- package/lib/module/components/progress/index.js.map +1 -0
- package/lib/module/components/select/index.js +35 -28
- package/lib/module/components/select/index.js.map +1 -1
- package/lib/module/components/skeleton/index.js +1 -1
- package/lib/module/components/skeleton/index.js.map +1 -1
- package/lib/module/components/spinner/index.js +1 -1
- package/lib/module/components/spinner/index.js.map +1 -1
- package/lib/module/components/steps/index.js +354 -0
- package/lib/module/components/steps/index.js.map +1 -0
- package/lib/module/components/tabs/index.js +9 -3
- package/lib/module/components/tabs/index.js.map +1 -1
- package/lib/module/components/toast/index.js +479 -0
- package/lib/module/components/toast/index.js.map +1 -0
- package/lib/module/components/toast/toast-store.js +81 -0
- package/lib/module/components/toast/toast-store.js.map +1 -0
- package/lib/module/components/typography/index.js +126 -0
- package/lib/module/components/typography/index.js.map +1 -0
- package/lib/module/icons/index.js +223 -2
- package/lib/module/icons/index.js.map +1 -1
- package/lib/module/index.js +11 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/providers/panel-ui-provider.js +20 -8
- package/lib/module/providers/panel-ui-provider.js.map +1 -1
- package/lib/module/theme/use-theme.js +90 -3
- package/lib/module/theme/use-theme.js.map +1 -1
- package/lib/typescript/src/components/alert/index.d.ts +41 -19
- package/lib/typescript/src/components/alert/index.d.ts.map +1 -1
- package/lib/typescript/src/components/bottom-sheet/index.d.ts.map +1 -1
- package/lib/typescript/src/components/button/index.d.ts +39 -0
- package/lib/typescript/src/components/button/index.d.ts.map +1 -1
- package/lib/typescript/src/components/checkbox/index.d.ts +8 -0
- package/lib/typescript/src/components/checkbox/index.d.ts.map +1 -1
- package/lib/typescript/src/components/dialog/index.d.ts.map +1 -1
- package/lib/typescript/src/components/empty-state/index.d.ts +73 -0
- package/lib/typescript/src/components/empty-state/index.d.ts.map +1 -0
- package/lib/typescript/src/components/frame/index.d.ts +21 -0
- package/lib/typescript/src/components/frame/index.d.ts.map +1 -0
- package/lib/typescript/src/components/inline-select/index.d.ts +25 -0
- package/lib/typescript/src/components/inline-select/index.d.ts.map +1 -0
- package/lib/typescript/src/components/input-group/index.d.ts +34 -0
- package/lib/typescript/src/components/input-group/index.d.ts.map +1 -0
- package/lib/typescript/src/components/label/index.d.ts +28 -0
- package/lib/typescript/src/components/label/index.d.ts.map +1 -0
- package/lib/typescript/src/components/progress/index.d.ts +132 -0
- package/lib/typescript/src/components/progress/index.d.ts.map +1 -0
- package/lib/typescript/src/components/select/index.d.ts.map +1 -1
- package/lib/typescript/src/components/spinner/index.d.ts +2 -2
- package/lib/typescript/src/components/spinner/index.d.ts.map +1 -1
- package/lib/typescript/src/components/steps/index.d.ts +62 -0
- package/lib/typescript/src/components/steps/index.d.ts.map +1 -0
- package/lib/typescript/src/components/tabs/index.d.ts.map +1 -1
- package/lib/typescript/src/components/toast/index.d.ts +176 -0
- package/lib/typescript/src/components/toast/index.d.ts.map +1 -0
- package/lib/typescript/src/components/toast/toast-store.d.ts +65 -0
- package/lib/typescript/src/components/toast/toast-store.d.ts.map +1 -0
- package/lib/typescript/src/components/typography/index.d.ts +77 -0
- package/lib/typescript/src/components/typography/index.d.ts.map +1 -0
- package/lib/typescript/src/icons/index.d.ts +25 -0
- package/lib/typescript/src/icons/index.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +12 -3
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/providers/panel-ui-provider.d.ts +20 -5
- package/lib/typescript/src/providers/panel-ui-provider.d.ts.map +1 -1
- package/lib/typescript/src/theme/use-theme.d.ts +64 -4
- package/lib/typescript/src/theme/use-theme.d.ts.map +1 -1
- package/package.json +28 -5
- package/src/components/alert/index.tsx +104 -28
- package/src/components/avatar/index.tsx +1 -1
- package/src/components/badge/index.tsx +3 -3
- package/src/components/bottom-sheet/index.tsx +8 -3
- package/src/components/button/index.tsx +47 -7
- package/src/components/card/index.tsx +5 -5
- package/src/components/checkbox/index.tsx +18 -4
- package/src/components/dialog/index.tsx +10 -5
- package/src/components/empty-state/index.tsx +136 -0
- package/src/components/frame/index.tsx +104 -0
- package/src/components/inline-select/index.tsx +185 -0
- package/src/components/input/index.tsx +1 -1
- package/src/components/input-group/index.tsx +164 -0
- package/src/components/label/index.tsx +128 -0
- package/src/components/progress/index.tsx +147 -0
- package/src/components/select/index.tsx +30 -23
- package/src/components/skeleton/index.tsx +1 -1
- package/src/components/spinner/index.tsx +1 -1
- package/src/components/steps/index.tsx +343 -0
- package/src/components/tabs/index.tsx +10 -2
- package/src/components/toast/index.tsx +447 -0
- package/src/components/toast/toast-store.ts +120 -0
- package/src/components/typography/index.tsx +121 -0
- package/src/icons/index.tsx +152 -1
- package/src/index.ts +82 -3
- package/src/providers/panel-ui-provider.tsx +35 -10
- package/src/theme/use-theme.ts +119 -4
- package/theme.css +446 -108
|
@@ -1,36 +1,43 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import { forwardRef
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
4
|
import { tv } from 'tailwind-variants';
|
|
5
5
|
import { AnimatedPressable } from "../../primitives/animated-pressable.js";
|
|
6
6
|
import { Text } from "../../primitives/text.js";
|
|
7
|
-
import {
|
|
7
|
+
import { Spinner } from "../spinner/index.js";
|
|
8
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
9
|
const buttonVariants = tv({
|
|
9
10
|
slots: {
|
|
10
11
|
root: 'flex-row items-center justify-center gap-2 rounded-lg border border-transparent',
|
|
11
|
-
label: 'font-medium'
|
|
12
|
+
label: 'font-medium',
|
|
13
|
+
spinner: ''
|
|
12
14
|
},
|
|
13
15
|
variants: {
|
|
14
16
|
variant: {
|
|
15
17
|
primary: {
|
|
16
18
|
root: 'border-primary bg-primary shadow-sm',
|
|
17
|
-
label: 'text-primary-foreground'
|
|
19
|
+
label: 'text-primary-foreground',
|
|
20
|
+
spinner: 'border-primary-foreground/32 border-t-primary-foreground'
|
|
18
21
|
},
|
|
19
22
|
secondary: {
|
|
20
23
|
root: 'bg-secondary',
|
|
21
|
-
label: 'text-secondary-foreground'
|
|
24
|
+
label: 'text-secondary-foreground',
|
|
25
|
+
spinner: 'border-secondary-foreground/24 border-t-secondary-foreground'
|
|
22
26
|
},
|
|
23
27
|
outline: {
|
|
24
28
|
root: 'border-input bg-popover shadow-sm',
|
|
25
|
-
label: 'text-foreground'
|
|
29
|
+
label: 'text-foreground',
|
|
30
|
+
spinner: 'border-muted border-t-foreground'
|
|
26
31
|
},
|
|
27
32
|
ghost: {
|
|
28
33
|
root: 'bg-transparent',
|
|
29
|
-
label: 'text-foreground'
|
|
34
|
+
label: 'text-foreground',
|
|
35
|
+
spinner: 'border-muted border-t-foreground'
|
|
30
36
|
},
|
|
31
37
|
destructive: {
|
|
32
38
|
root: 'border-destructive bg-destructive shadow-sm',
|
|
33
|
-
label: 'text-white'
|
|
39
|
+
label: 'text-white',
|
|
40
|
+
spinner: 'border-white/32 border-t-white'
|
|
34
41
|
}
|
|
35
42
|
},
|
|
36
43
|
size: {
|
|
@@ -50,6 +57,11 @@ const buttonVariants = tv({
|
|
|
50
57
|
root: 'h-11 w-11 px-0'
|
|
51
58
|
}
|
|
52
59
|
},
|
|
60
|
+
fullWidth: {
|
|
61
|
+
true: {
|
|
62
|
+
root: 'w-full'
|
|
63
|
+
}
|
|
64
|
+
},
|
|
53
65
|
disabled: {
|
|
54
66
|
true: {
|
|
55
67
|
root: 'opacity-[0.64]'
|
|
@@ -61,40 +73,57 @@ const buttonVariants = tv({
|
|
|
61
73
|
size: 'md'
|
|
62
74
|
}
|
|
63
75
|
});
|
|
76
|
+
const SPINNER_SIZE = {
|
|
77
|
+
sm: 'sm',
|
|
78
|
+
md: 'sm',
|
|
79
|
+
lg: 'md',
|
|
80
|
+
icon: 'sm'
|
|
81
|
+
};
|
|
64
82
|
export const Button = /*#__PURE__*/forwardRef(({
|
|
65
83
|
children,
|
|
66
84
|
className,
|
|
67
85
|
labelClassName,
|
|
68
86
|
variant,
|
|
69
87
|
size,
|
|
88
|
+
fullWidth,
|
|
70
89
|
disabled,
|
|
90
|
+
loading = false,
|
|
91
|
+
startContent,
|
|
92
|
+
endContent,
|
|
71
93
|
...props
|
|
72
94
|
}, ref) => {
|
|
95
|
+
const isDisabled = disabled || loading;
|
|
73
96
|
const {
|
|
74
97
|
root,
|
|
75
|
-
label
|
|
98
|
+
label,
|
|
99
|
+
spinner
|
|
76
100
|
} = buttonVariants({
|
|
77
101
|
variant,
|
|
78
102
|
size,
|
|
79
|
-
|
|
103
|
+
fullWidth,
|
|
104
|
+
disabled: isDisabled
|
|
80
105
|
});
|
|
81
|
-
return /*#__PURE__*/
|
|
106
|
+
return /*#__PURE__*/_jsxs(AnimatedPressable, {
|
|
82
107
|
ref: ref,
|
|
83
108
|
accessibilityRole: "button",
|
|
84
109
|
accessibilityState: {
|
|
85
|
-
disabled:
|
|
110
|
+
disabled: isDisabled,
|
|
111
|
+
busy: loading
|
|
86
112
|
},
|
|
87
|
-
disabled:
|
|
113
|
+
disabled: isDisabled,
|
|
88
114
|
className: root({
|
|
89
115
|
className
|
|
90
116
|
}),
|
|
91
117
|
...props,
|
|
92
|
-
children:
|
|
118
|
+
children: [loading ? /*#__PURE__*/_jsx(Spinner, {
|
|
119
|
+
size: SPINNER_SIZE[size ?? 'md'],
|
|
120
|
+
className: spinner()
|
|
121
|
+
}) : startContent, typeof children === 'string' ? /*#__PURE__*/_jsx(Text, {
|
|
93
122
|
className: label({
|
|
94
123
|
className: labelClassName
|
|
95
124
|
}),
|
|
96
125
|
children: children
|
|
97
|
-
}) :
|
|
126
|
+
}) : children, endContent]
|
|
98
127
|
});
|
|
99
128
|
});
|
|
100
129
|
Button.displayName = 'Button';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["forwardRef","
|
|
1
|
+
{"version":3,"names":["forwardRef","tv","AnimatedPressable","Text","Spinner","jsx","_jsx","jsxs","_jsxs","buttonVariants","slots","root","label","spinner","variants","variant","primary","secondary","outline","ghost","destructive","size","sm","md","lg","icon","fullWidth","true","disabled","defaultVariants","SPINNER_SIZE","Button","children","className","labelClassName","loading","startContent","endContent","props","ref","isDisabled","accessibilityRole","accessibilityState","busy","displayName"],"sourceRoot":"../../../../src","sources":["components/button/index.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAwB,OAAO;AAElD,SAASC,EAAE,QAA2B,mBAAmB;AACzD,SACEC,iBAAiB,QAEZ,wCAAqC;AAC5C,SAASC,IAAI,QAAQ,0BAAuB;AAC5C,SAASC,OAAO,QAAQ,qBAAY;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAErC,MAAMC,cAAc,GAAGR,EAAE,CAAC;EACxBS,KAAK,EAAE;IACLC,IAAI,EAAE,iFAAiF;IACvFC,KAAK,EAAE,aAAa;IACpBC,OAAO,EAAE;EACX,CAAC;EACDC,QAAQ,EAAE;IACRC,OAAO,EAAE;MACPC,OAAO,EAAE;QACPL,IAAI,EAAE,qCAAqC;QAC3CC,KAAK,EAAE,yBAAyB;QAChCC,OAAO,EAAE;MACX,CAAC;MACDI,SAAS,EAAE;QACTN,IAAI,EAAE,cAAc;QACpBC,KAAK,EAAE,2BAA2B;QAClCC,OAAO,EAAE;MACX,CAAC;MACDK,OAAO,EAAE;QACPP,IAAI,EAAE,mCAAmC;QACzCC,KAAK,EAAE,iBAAiB;QACxBC,OAAO,EAAE;MACX,CAAC;MACDM,KAAK,EAAE;QACLR,IAAI,EAAE,gBAAgB;QACtBC,KAAK,EAAE,iBAAiB;QACxBC,OAAO,EAAE;MACX,CAAC;MACDO,WAAW,EAAE;QACXT,IAAI,EAAE,6CAA6C;QACnDC,KAAK,EAAE,YAAY;QACnBC,OAAO,EAAE;MACX;IACF,CAAC;IACDQ,IAAI,EAAE;MACJC,EAAE,EAAE;QAAEX,IAAI,EAAE,oBAAoB;QAAEC,KAAK,EAAE;MAAU,CAAC;MACpDW,EAAE,EAAE;QAAEZ,IAAI,EAAE,WAAW;QAAEC,KAAK,EAAE;MAAY,CAAC;MAC7CY,EAAE,EAAE;QAAEb,IAAI,EAAE,WAAW;QAAEC,KAAK,EAAE;MAAU,CAAC;MAC3Ca,IAAI,EAAE;QAAEd,IAAI,EAAE;MAAiB;IACjC,CAAC;IACDe,SAAS,EAAE;MACTC,IAAI,EAAE;QAAEhB,IAAI,EAAE;MAAS;IACzB,CAAC;IACDiB,QAAQ,EAAE;MACRD,IAAI,EAAE;QAAEhB,IAAI,EAAE;MAAiB;IACjC;EACF,CAAC;EACDkB,eAAe,EAAE;IACfd,OAAO,EAAE,SAAS;IAClBM,IAAI,EAAE;EACR;AACF,CAAC,CAAC;AAIF,MAAMS,YAAY,GAAG;EAAER,EAAE,EAAE,IAAI;EAAEC,EAAE,EAAE,IAAI;EAAEC,EAAE,EAAE,IAAI;EAAEC,IAAI,EAAE;AAAK,CAAU;AAiB1E,OAAO,MAAMM,MAAM,gBAAG/B,UAAU,CAC9B,CACE;EACEgC,QAAQ;EACRC,SAAS;EACTC,cAAc;EACdnB,OAAO;EACPM,IAAI;EACJK,SAAS;EACTE,QAAQ;EACRO,OAAO,GAAG,KAAK;EACfC,YAAY;EACZC,UAAU;EACV,GAAGC;AACL,CAAC,EACDC,GAAG,KACA;EACH,MAAMC,UAAU,GAAGZ,QAAQ,IAAIO,OAAO;EACtC,MAAM;IAAExB,IAAI;IAAEC,KAAK;IAAEC;EAAQ,CAAC,GAAGJ,cAAc,CAAC;IAC9CM,OAAO;IACPM,IAAI;IACJK,SAAS;IACTE,QAAQ,EAAEY;EACZ,CAAC,CAAC;EAEF,oBACEhC,KAAA,CAACN,iBAAiB;IAChBqC,GAAG,EAAEA,GAAI;IACTE,iBAAiB,EAAC,QAAQ;IAC1BC,kBAAkB,EAAE;MAAEd,QAAQ,EAAEY,UAAU;MAAEG,IAAI,EAAER;IAAQ,CAAE;IAC5DP,QAAQ,EAAEY,UAAW;IACrBP,SAAS,EAAEtB,IAAI,CAAC;MAAEsB;IAAU,CAAC,CAAE;IAAA,GAC3BK,KAAK;IAAAN,QAAA,GAERG,OAAO,gBACN7B,IAAA,CAACF,OAAO;MAACiB,IAAI,EAAES,YAAY,CAACT,IAAI,IAAI,IAAI,CAAE;MAACY,SAAS,EAAEpB,OAAO,CAAC;IAAE,CAAE,CAAC,GAEnEuB,YACD,EACA,OAAOJ,QAAQ,KAAK,QAAQ,gBAC3B1B,IAAA,CAACH,IAAI;MAAC8B,SAAS,EAAErB,KAAK,CAAC;QAAEqB,SAAS,EAAEC;MAAe,CAAC,CAAE;MAAAF,QAAA,EAAEA;IAAQ,CAAO,CAAC,GAExEA,QACD,EACAK,UAAU;EAAA,CACM,CAAC;AAExB,CACF,CAAC;AAEDN,MAAM,CAACa,WAAW,GAAG,QAAQ","ignoreList":[]}
|
|
@@ -10,7 +10,7 @@ const CardRoot = /*#__PURE__*/forwardRef(({
|
|
|
10
10
|
...props
|
|
11
11
|
}, ref) => /*#__PURE__*/_jsx(View, {
|
|
12
12
|
ref: ref,
|
|
13
|
-
className: cn('rounded-
|
|
13
|
+
className: cn('rounded-2xl border border-border bg-card shadow-sm', className),
|
|
14
14
|
...props
|
|
15
15
|
}));
|
|
16
16
|
CardRoot.displayName = 'Card';
|
|
@@ -19,7 +19,7 @@ const CardHeader = /*#__PURE__*/forwardRef(({
|
|
|
19
19
|
...props
|
|
20
20
|
}, ref) => /*#__PURE__*/_jsx(View, {
|
|
21
21
|
ref: ref,
|
|
22
|
-
className: cn('gap-1.5 p-
|
|
22
|
+
className: cn('gap-1.5 p-6', className),
|
|
23
23
|
...props
|
|
24
24
|
}));
|
|
25
25
|
CardHeader.displayName = 'Card.Header';
|
|
@@ -30,7 +30,7 @@ const CardTitle = /*#__PURE__*/forwardRef(({
|
|
|
30
30
|
ref: ref,
|
|
31
31
|
size: "lg",
|
|
32
32
|
weight: "semibold",
|
|
33
|
-
className: cn('text-card-foreground', className),
|
|
33
|
+
className: cn('leading-none text-card-foreground', className),
|
|
34
34
|
...props
|
|
35
35
|
}));
|
|
36
36
|
CardTitle.displayName = 'Card.Title';
|
|
@@ -50,7 +50,7 @@ const CardContent = /*#__PURE__*/forwardRef(({
|
|
|
50
50
|
...props
|
|
51
51
|
}, ref) => /*#__PURE__*/_jsx(View, {
|
|
52
52
|
ref: ref,
|
|
53
|
-
className: cn('p-
|
|
53
|
+
className: cn('p-6 pt-0', className),
|
|
54
54
|
...props
|
|
55
55
|
}));
|
|
56
56
|
CardContent.displayName = 'Card.Content';
|
|
@@ -59,7 +59,7 @@ const CardFooter = /*#__PURE__*/forwardRef(({
|
|
|
59
59
|
...props
|
|
60
60
|
}, ref) => /*#__PURE__*/_jsx(View, {
|
|
61
61
|
ref: ref,
|
|
62
|
-
className: cn('flex-row items-center gap-2 p-
|
|
62
|
+
className: cn('flex-row items-center gap-2 p-6 pt-0', className),
|
|
63
63
|
...props
|
|
64
64
|
}));
|
|
65
65
|
CardFooter.displayName = 'Card.Footer';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["forwardRef","View","cn","Text","jsx","_jsx","CardRoot","className","props","ref","displayName","CardHeader","CardTitle","size","weight","CardDescription","muted","CardContent","CardFooter","Card","Object","assign","Header","Title","Description","Content","Footer"],"sourceRoot":"../../../../src","sources":["components/card/index.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,OAAO;AAClC,SAASC,IAAI,QAAwB,cAAc;AACnD,SAASC,EAAE,QAAQ,mBAAgB;AACnC,SAASC,IAAI,QAAwB,0BAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAM7D,MAAMC,QAAQ,gBAAGN,UAAU,CAAkB,CAAC;EAAEO,SAAS;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,kBACxEJ,IAAA,CAACJ,IAAI;EACHQ,GAAG,EAAEA,GAAI;EACTF,SAAS,EAAEL,EAAE,CAAC,
|
|
1
|
+
{"version":3,"names":["forwardRef","View","cn","Text","jsx","_jsx","CardRoot","className","props","ref","displayName","CardHeader","CardTitle","size","weight","CardDescription","muted","CardContent","CardFooter","Card","Object","assign","Header","Title","Description","Content","Footer"],"sourceRoot":"../../../../src","sources":["components/card/index.tsx"],"mappings":";;AAAA,SAASA,UAAU,QAAQ,OAAO;AAClC,SAASC,IAAI,QAAwB,cAAc;AACnD,SAASC,EAAE,QAAQ,mBAAgB;AACnC,SAASC,IAAI,QAAwB,0BAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAM7D,MAAMC,QAAQ,gBAAGN,UAAU,CAAkB,CAAC;EAAEO,SAAS;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,kBACxEJ,IAAA,CAACJ,IAAI;EACHQ,GAAG,EAAEA,GAAI;EACTF,SAAS,EAAEL,EAAE,CAAC,oDAAoD,EAAEK,SAAS,CAAE;EAAA,GAC3EC;AAAK,CACV,CACF,CAAC;AACFF,QAAQ,CAACI,WAAW,GAAG,MAAM;AAE7B,MAAMC,UAAU,gBAAGX,UAAU,CAAkB,CAAC;EAAEO,SAAS;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,kBAC1EJ,IAAA,CAACJ,IAAI;EAACQ,GAAG,EAAEA,GAAI;EAACF,SAAS,EAAEL,EAAE,CAAC,aAAa,EAAEK,SAAS,CAAE;EAAA,GAAKC;AAAK,CAAG,CACtE,CAAC;AACFG,UAAU,CAACD,WAAW,GAAG,aAAa;AAEtC,MAAME,SAAS,gBAAGZ,UAAU,CAC1B,CAAC;EAAEO,SAAS;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,kBAC3BJ,IAAA,CAACF,IAAI;EACHM,GAAG,EAAEA,GAAI;EACTI,IAAI,EAAC,IAAI;EACTC,MAAM,EAAC,UAAU;EACjBP,SAAS,EAAEL,EAAE,CAAC,mCAAmC,EAAEK,SAAS,CAAE;EAAA,GAC1DC;AAAK,CACV,CAEL,CAAC;AACDI,SAAS,CAACF,WAAW,GAAG,YAAY;AAEpC,MAAMK,eAAe,gBAAGf,UAAU,CAChC,CAAC;EAAEO,SAAS;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,kBAC3BJ,IAAA,CAACF,IAAI;EAACM,GAAG,EAAEA,GAAI;EAACI,IAAI,EAAC,IAAI;EAACG,KAAK;EAACT,SAAS,EAAEA,SAAU;EAAA,GAAKC;AAAK,CAAG,CAEtE,CAAC;AACDO,eAAe,CAACL,WAAW,GAAG,kBAAkB;AAEhD,MAAMO,WAAW,gBAAGjB,UAAU,CAAkB,CAAC;EAAEO,SAAS;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,kBAC3EJ,IAAA,CAACJ,IAAI;EAACQ,GAAG,EAAEA,GAAI;EAACF,SAAS,EAAEL,EAAE,CAAC,UAAU,EAAEK,SAAS,CAAE;EAAA,GAAKC;AAAK,CAAG,CACnE,CAAC;AACFS,WAAW,CAACP,WAAW,GAAG,cAAc;AAExC,MAAMQ,UAAU,gBAAGlB,UAAU,CAAkB,CAAC;EAAEO,SAAS;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,kBAC1EJ,IAAA,CAACJ,IAAI;EACHQ,GAAG,EAAEA,GAAI;EACTF,SAAS,EAAEL,EAAE,CAAC,sCAAsC,EAAEK,SAAS,CAAE;EAAA,GAC7DC;AAAK,CACV,CACF,CAAC;AACFU,UAAU,CAACR,WAAW,GAAG,aAAa;AAEtC,OAAO,MAAMS,IAAI,GAAGC,MAAM,CAACC,MAAM,CAACf,QAAQ,EAAE;EAC1CgB,MAAM,EAAEX,UAAU;EAClBY,KAAK,EAAEX,SAAS;EAChBY,WAAW,EAAET,eAAe;EAC5BU,OAAO,EAAER,WAAW;EACpBS,MAAM,EAAER;AACV,CAAC,CAAC","ignoreList":[]}
|
|
@@ -13,7 +13,9 @@ const checkboxVariants = tv({
|
|
|
13
13
|
row: 'flex-row items-center gap-2.5',
|
|
14
14
|
box: 'h-5 w-5 items-center justify-center rounded-md border border-input bg-background',
|
|
15
15
|
fill: 'absolute inset-0 items-center justify-center rounded-md bg-primary',
|
|
16
|
-
|
|
16
|
+
content: 'flex-1 gap-0.5',
|
|
17
|
+
label: 'text-sm text-foreground',
|
|
18
|
+
description: 'text-sm text-muted-foreground'
|
|
17
19
|
},
|
|
18
20
|
variants: {
|
|
19
21
|
disabled: {
|
|
@@ -28,13 +30,14 @@ export const Checkbox = /*#__PURE__*/forwardRef(({
|
|
|
28
30
|
checked,
|
|
29
31
|
onCheckedChange,
|
|
30
32
|
disabled,
|
|
31
|
-
label
|
|
33
|
+
label,
|
|
34
|
+
description
|
|
32
35
|
}, ref) => {
|
|
33
36
|
const progress = useSharedValue(checked ? 1 : 0);
|
|
34
37
|
const slots = checkboxVariants({
|
|
35
38
|
disabled: !!disabled
|
|
36
39
|
});
|
|
37
|
-
const checkColor = useCSSVariable('--primary-foreground');
|
|
40
|
+
const checkColor = useCSSVariable('--color-primary-foreground');
|
|
38
41
|
useEffect(() => {
|
|
39
42
|
progress.value = checked ? withSpring(1, {
|
|
40
43
|
damping: 15,
|
|
@@ -58,11 +61,15 @@ export const Checkbox = /*#__PURE__*/forwardRef(({
|
|
|
58
61
|
disabled: !!disabled
|
|
59
62
|
},
|
|
60
63
|
accessibilityLabel: label,
|
|
64
|
+
accessibilityHint: description,
|
|
61
65
|
disabled: disabled,
|
|
62
66
|
onPress: () => onCheckedChange?.(!checked),
|
|
63
|
-
hitSlop: 8
|
|
67
|
+
hitSlop: 8
|
|
68
|
+
// A description makes the row two lines tall — align the box to the
|
|
69
|
+
// label rather than centring it against the whole block.
|
|
70
|
+
,
|
|
64
71
|
className: slots.row({
|
|
65
|
-
className
|
|
72
|
+
className: description ? `items-start ${className ?? ''}` : className
|
|
66
73
|
}),
|
|
67
74
|
children: [/*#__PURE__*/_jsx(View, {
|
|
68
75
|
className: slots.box(),
|
|
@@ -74,9 +81,15 @@ export const Checkbox = /*#__PURE__*/forwardRef(({
|
|
|
74
81
|
color: typeof checkColor === 'string' ? checkColor : '#fff'
|
|
75
82
|
})
|
|
76
83
|
})
|
|
77
|
-
}), label ? /*#__PURE__*/
|
|
78
|
-
className: slots.
|
|
79
|
-
children: label
|
|
84
|
+
}), label || description ? /*#__PURE__*/_jsxs(View, {
|
|
85
|
+
className: slots.content(),
|
|
86
|
+
children: [label ? /*#__PURE__*/_jsx(Text, {
|
|
87
|
+
className: slots.label(),
|
|
88
|
+
children: label
|
|
89
|
+
}) : null, description ? /*#__PURE__*/_jsx(Text, {
|
|
90
|
+
className: slots.description(),
|
|
91
|
+
children: description
|
|
92
|
+
}) : null]
|
|
80
93
|
}) : null]
|
|
81
94
|
});
|
|
82
95
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["forwardRef","useEffect","Pressable","View","Animated","useAnimatedStyle","useSharedValue","withSpring","withTiming","tv","useCSSVariable","CheckIcon","Text","jsx","_jsx","jsxs","_jsxs","checkboxVariants","slots","row","box","fill","label","variants","disabled","true","Checkbox","className","checked","onCheckedChange","ref","progress","checkColor","value","damping","stiffness","mass","duration","fillStyle","opacity","transform","scale","accessibilityRole","accessibilityState","accessibilityLabel","onPress","hitSlop","children","style","size","color","displayName"],"sourceRoot":"../../../../src","sources":["components/checkbox/index.tsx"],"mappings":";;AAAA,SAASA,UAAU,EAAEC,SAAS,QAAQ,OAAO;AAC7C,SAASC,SAAS,EAAEC,IAAI,QAAQ,cAAc;AAC9C,OAAOC,QAAQ,IACbC,gBAAgB,EAChBC,cAAc,EACdC,UAAU,EACVC,UAAU,QACL,yBAAyB;AAChC,SAASC,EAAE,QAA2B,mBAAmB;AACzD,SAASC,cAAc,QAAQ,SAAS;AACxC,SAASC,SAAS,QAAQ,sBAAa;AACvC,SAASC,IAAI,QAAQ,0BAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAE7C,MAAMC,gBAAgB,GAAGR,EAAE,CAAC;EAC1BS,KAAK,EAAE;IACLC,GAAG,EAAE,+BAA+B;IACpCC,GAAG,EAAE,kFAAkF;IACvFC,IAAI,EAAE,oEAAoE;IAC1EC,KAAK,EAAE;
|
|
1
|
+
{"version":3,"names":["forwardRef","useEffect","Pressable","View","Animated","useAnimatedStyle","useSharedValue","withSpring","withTiming","tv","useCSSVariable","CheckIcon","Text","jsx","_jsx","jsxs","_jsxs","checkboxVariants","slots","row","box","fill","content","label","description","variants","disabled","true","Checkbox","className","checked","onCheckedChange","ref","progress","checkColor","value","damping","stiffness","mass","duration","fillStyle","opacity","transform","scale","accessibilityRole","accessibilityState","accessibilityLabel","accessibilityHint","onPress","hitSlop","children","style","size","color","displayName"],"sourceRoot":"../../../../src","sources":["components/checkbox/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -58,28 +58,32 @@ function DialogContent({
|
|
|
58
58
|
children,
|
|
59
59
|
...props
|
|
60
60
|
}) {
|
|
61
|
+
const context = useDialog('Dialog.Content');
|
|
61
62
|
const {
|
|
62
63
|
open,
|
|
63
64
|
setOpen
|
|
64
|
-
} =
|
|
65
|
+
} = context;
|
|
65
66
|
if (!open) return null;
|
|
66
67
|
return /*#__PURE__*/_jsx(Portal, {
|
|
67
|
-
children: /*#__PURE__*/
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
68
|
+
children: /*#__PURE__*/_jsx(DialogContext.Provider, {
|
|
69
|
+
value: context,
|
|
70
|
+
children: /*#__PURE__*/_jsxs(Animated.View, {
|
|
71
|
+
entering: FadeIn.duration(150),
|
|
72
|
+
exiting: FadeOut.duration(150),
|
|
73
|
+
className: "absolute inset-0 items-center justify-center p-6",
|
|
74
|
+
children: [/*#__PURE__*/_jsx(Pressable, {
|
|
75
|
+
accessibilityLabel: "Close dialog",
|
|
76
|
+
className: "absolute inset-0 bg-black/50",
|
|
77
|
+
onPress: dismissible ? () => setOpen(false) : undefined
|
|
78
|
+
}), /*#__PURE__*/_jsx(Animated.View, {
|
|
79
|
+
entering: ZoomIn.springify().damping(18).stiffness(250).mass(0.6),
|
|
80
|
+
exiting: FadeOut.duration(120),
|
|
81
|
+
accessibilityViewIsModal: true,
|
|
82
|
+
className: cn('w-full max-w-sm gap-1.5 rounded-2xl border border-border bg-popover p-5 shadow-lg', className),
|
|
83
|
+
...props,
|
|
84
|
+
children: children
|
|
85
|
+
})]
|
|
86
|
+
})
|
|
83
87
|
})
|
|
84
88
|
});
|
|
85
89
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["cloneElement","createContext","forwardRef","isValidElement","useCallback","useContext","useMemo","useState","Pressable","View","Animated","FadeIn","FadeOut","ZoomIn","Portal","Text","cn","jsx","_jsx","jsxs","_jsxs","DialogContext","useDialog","component","context","Error","DialogRoot","children","open","onOpenChange","defaultOpen","internalOpen","setInternalOpen","isControlled","undefined","resolvedOpen","setOpen","next","Provider","value","DialogTrigger","onPress","args","props","DialogContent","className","dismissible","entering","duration","exiting","accessibilityLabel","springify","damping","stiffness","mass","accessibilityViewIsModal","DialogTitle","ref","size","weight","displayName","DialogDescription","muted","DialogFooter","DialogClose","Dialog","Object","assign","Trigger","Content","Title","Description","Footer","Close"],"sourceRoot":"../../../../src","sources":["components/dialog/index.tsx"],"mappings":";;AAAA,SACEA,YAAY,EACZC,aAAa,EACbC,UAAU,EACVC,cAAc,EACdC,WAAW,EACXC,UAAU,EACVC,OAAO,EACPC,QAAQ,QAGH,OAAO;AACd,SAASC,SAAS,EAAEC,IAAI,QAAwB,cAAc;AAC9D,OAAOC,QAAQ,IAAIC,MAAM,EAAEC,OAAO,EAAEC,MAAM,QAAQ,yBAAyB;AAC3E,SAASC,MAAM,QAAQ,4BAAyB;AAChD,SAASC,IAAI,QAAwB,0BAAuB;AAC5D,SAASC,EAAE,QAAQ,mBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAOpC,MAAMC,aAAa,gBAAGpB,aAAa,CAA4B,IAAI,CAAC;AAEpE,SAASqB,SAASA,CAACC,SAAiB,EAAsB;EACxD,MAAMC,OAAO,GAAGnB,UAAU,CAACgB,aAAa,CAAC;EACzC,IAAI,CAACG,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CAAC,GAAGF,SAAS,iCAAiC,CAAC;EAChE;EACA,OAAOC,OAAO;AAChB;AAWA,SAASE,UAAUA,CAAC;EAAEC,QAAQ;EAAEC,IAAI;EAAEC,YAAY;EAAEC,WAAW,GAAG;AAAmB,CAAC,EAAE;EACtF,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGzB,QAAQ,CAACuB,WAAW,CAAC;EAC7D,MAAMG,YAAY,GAAGL,IAAI,KAAKM,SAAS;EACvC,MAAMC,YAAY,GAAGF,YAAY,GAAGL,IAAI,GAAGG,YAAY;EAEvD,MAAMK,OAAO,GAAGhC,WAAW,CACxBiC,IAAa,IAAK;IACjB,IAAI,CAACJ,YAAY,EAAED,eAAe,CAACK,IAAI,CAAC;IACxCR,YAAY,GAAGQ,IAAI,CAAC;EACtB,CAAC,EACD,CAACJ,YAAY,EAAEJ,YAAY,CAC7B,CAAC;EAED,MAAML,OAAO,GAAGlB,OAAO,CACrB,OAAO;IAAEsB,IAAI,EAAEO,YAAY;IAAEC;EAAQ,CAAC,CAAC,EACvC,CAACD,YAAY,EAAEC,OAAO,CACxB,CAAC;EAED,oBAAOlB,IAAA,CAACG,aAAa,CAACiB,QAAQ;IAACC,KAAK,EAAEf,OAAQ;IAAAG,QAAA,EAAEA;EAAQ,CAAyB,CAAC;AACpF;AAMA;AACA,SAASa,aAAaA,CAAC;EAAEb;AAA6B,CAAC,EAAE;EACvD,MAAM;IAAES;EAAQ,CAAC,GAAGd,SAAS,CAAC,gBAAgB,CAAC;EAC/C,IAAI,eAACnB,cAAc,CAACwB,QAAQ,CAAC,EAAE,OAAOA,QAAQ;EAE9C,oBAAO3B,YAAY,CAAC2B,QAAQ,EAAE;IAC5Bc,OAAO,EAAEA,CAAC,GAAGC,IAAe,KAAK;MAC/Bf,QAAQ,CAACgB,KAAK,CAACF,OAAO,GAAG,GAAGC,IAAI,CAAC;MACjCN,OAAO,CAAC,IAAI,CAAC;IACf;EACF,CAAC,CAAC;AACJ;AASA,SAASQ,aAAaA,CAAC;EACrBC,SAAS;EACTC,WAAW,GAAG,IAAI;EAClBnB,QAAQ;EACR,GAAGgB;AACe,CAAC,EAAE;EACrB,MAAM;
|
|
1
|
+
{"version":3,"names":["cloneElement","createContext","forwardRef","isValidElement","useCallback","useContext","useMemo","useState","Pressable","View","Animated","FadeIn","FadeOut","ZoomIn","Portal","Text","cn","jsx","_jsx","jsxs","_jsxs","DialogContext","useDialog","component","context","Error","DialogRoot","children","open","onOpenChange","defaultOpen","internalOpen","setInternalOpen","isControlled","undefined","resolvedOpen","setOpen","next","Provider","value","DialogTrigger","onPress","args","props","DialogContent","className","dismissible","entering","duration","exiting","accessibilityLabel","springify","damping","stiffness","mass","accessibilityViewIsModal","DialogTitle","ref","size","weight","displayName","DialogDescription","muted","DialogFooter","DialogClose","Dialog","Object","assign","Trigger","Content","Title","Description","Footer","Close"],"sourceRoot":"../../../../src","sources":["components/dialog/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* EmptyState — the placeholder shown when a list or view has no content.
|
|
5
|
+
*
|
|
6
|
+
* Adapted from: cosscom/coss packages/ui/src/components/empty.tsx
|
|
7
|
+
* (centered Header / Media / Title / Description / Content anatomy, and the
|
|
8
|
+
* `icon` media variant that stacks two rotated ghost cards behind the icon).
|
|
9
|
+
* Coss does that with CSS pseudo-elements; on native it is two absolutely
|
|
10
|
+
* positioned siblings with static rotate transforms.
|
|
11
|
+
*/
|
|
12
|
+
import { forwardRef } from 'react';
|
|
13
|
+
import { View } from 'react-native';
|
|
14
|
+
import { tv } from 'tailwind-variants';
|
|
15
|
+
import { Text } from "../../primitives/text.js";
|
|
16
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
|
+
const emptyStateVariants = tv({
|
|
18
|
+
slots: {
|
|
19
|
+
root: 'w-full flex-1 items-center justify-center gap-6 px-6 py-12',
|
|
20
|
+
header: 'w-full max-w-sm items-center gap-1',
|
|
21
|
+
title: 'text-center text-xl font-semibold text-foreground',
|
|
22
|
+
description: 'text-center text-sm text-muted-foreground',
|
|
23
|
+
content: 'w-full max-w-sm items-center gap-3'
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
const mediaVariants = tv({
|
|
27
|
+
slots: {
|
|
28
|
+
wrapper: 'items-center justify-center',
|
|
29
|
+
card: 'h-9 w-9 shrink-0 items-center justify-center',
|
|
30
|
+
ghost: 'absolute h-9 w-9 rounded-md border border-border bg-card'
|
|
31
|
+
},
|
|
32
|
+
variants: {
|
|
33
|
+
variant: {
|
|
34
|
+
default: {
|
|
35
|
+
card: 'bg-transparent',
|
|
36
|
+
ghost: 'hidden'
|
|
37
|
+
},
|
|
38
|
+
icon: {
|
|
39
|
+
card: 'rounded-md border border-border bg-card'
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
defaultVariants: {
|
|
44
|
+
variant: 'default'
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
const EmptyStateRoot = /*#__PURE__*/forwardRef(({
|
|
48
|
+
className,
|
|
49
|
+
...props
|
|
50
|
+
}, ref) => {
|
|
51
|
+
const {
|
|
52
|
+
root
|
|
53
|
+
} = emptyStateVariants();
|
|
54
|
+
return /*#__PURE__*/_jsx(View, {
|
|
55
|
+
ref: ref,
|
|
56
|
+
className: root({
|
|
57
|
+
className
|
|
58
|
+
}),
|
|
59
|
+
...props
|
|
60
|
+
});
|
|
61
|
+
});
|
|
62
|
+
EmptyStateRoot.displayName = 'EmptyState';
|
|
63
|
+
|
|
64
|
+
/** Groups Media, Title and Description into one centered column. */
|
|
65
|
+
const EmptyStateHeader = /*#__PURE__*/forwardRef(({
|
|
66
|
+
className,
|
|
67
|
+
...props
|
|
68
|
+
}, ref) => {
|
|
69
|
+
const {
|
|
70
|
+
header
|
|
71
|
+
} = emptyStateVariants();
|
|
72
|
+
return /*#__PURE__*/_jsx(View, {
|
|
73
|
+
ref: ref,
|
|
74
|
+
className: header({
|
|
75
|
+
className
|
|
76
|
+
}),
|
|
77
|
+
...props
|
|
78
|
+
});
|
|
79
|
+
});
|
|
80
|
+
EmptyStateHeader.displayName = 'EmptyState.Header';
|
|
81
|
+
/**
|
|
82
|
+
* Visual anchor above the title. `variant="icon"` frames the child in a small
|
|
83
|
+
* card with two rotated ghost cards fanned out behind it.
|
|
84
|
+
*/
|
|
85
|
+
const EmptyStateMedia = /*#__PURE__*/forwardRef(({
|
|
86
|
+
className,
|
|
87
|
+
variant = 'default',
|
|
88
|
+
children,
|
|
89
|
+
...props
|
|
90
|
+
}, ref) => {
|
|
91
|
+
const {
|
|
92
|
+
wrapper,
|
|
93
|
+
card,
|
|
94
|
+
ghost
|
|
95
|
+
} = mediaVariants({
|
|
96
|
+
variant
|
|
97
|
+
});
|
|
98
|
+
return /*#__PURE__*/_jsxs(View, {
|
|
99
|
+
ref: ref,
|
|
100
|
+
className: wrapper({
|
|
101
|
+
className: `mb-4 ${className ?? ''}`
|
|
102
|
+
}),
|
|
103
|
+
...props,
|
|
104
|
+
children: [variant === 'icon' ? /*#__PURE__*/_jsxs(_Fragment, {
|
|
105
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
106
|
+
accessibilityElementsHidden: true,
|
|
107
|
+
importantForAccessibility: "no-hide-descendants",
|
|
108
|
+
className: `${ghost()} -translate-x-2 -rotate-[10deg] scale-90`
|
|
109
|
+
}), /*#__PURE__*/_jsx(View, {
|
|
110
|
+
accessibilityElementsHidden: true,
|
|
111
|
+
importantForAccessibility: "no-hide-descendants",
|
|
112
|
+
className: `${ghost()} translate-x-2 rotate-[10deg] scale-90`
|
|
113
|
+
})]
|
|
114
|
+
}) : null, /*#__PURE__*/_jsx(View, {
|
|
115
|
+
className: card(),
|
|
116
|
+
children: children
|
|
117
|
+
})]
|
|
118
|
+
});
|
|
119
|
+
});
|
|
120
|
+
EmptyStateMedia.displayName = 'EmptyState.Media';
|
|
121
|
+
const EmptyStateTitle = /*#__PURE__*/forwardRef(({
|
|
122
|
+
className,
|
|
123
|
+
...props
|
|
124
|
+
}, ref) => {
|
|
125
|
+
const {
|
|
126
|
+
title
|
|
127
|
+
} = emptyStateVariants();
|
|
128
|
+
return /*#__PURE__*/_jsx(Text, {
|
|
129
|
+
ref: ref,
|
|
130
|
+
className: title({
|
|
131
|
+
className
|
|
132
|
+
}),
|
|
133
|
+
...props
|
|
134
|
+
});
|
|
135
|
+
});
|
|
136
|
+
EmptyStateTitle.displayName = 'EmptyState.Title';
|
|
137
|
+
const EmptyStateDescription = /*#__PURE__*/forwardRef(({
|
|
138
|
+
className,
|
|
139
|
+
...props
|
|
140
|
+
}, ref) => {
|
|
141
|
+
const {
|
|
142
|
+
description
|
|
143
|
+
} = emptyStateVariants();
|
|
144
|
+
return /*#__PURE__*/_jsx(Text, {
|
|
145
|
+
ref: ref,
|
|
146
|
+
className: description({
|
|
147
|
+
className
|
|
148
|
+
}),
|
|
149
|
+
...props
|
|
150
|
+
});
|
|
151
|
+
});
|
|
152
|
+
EmptyStateDescription.displayName = 'EmptyState.Description';
|
|
153
|
+
|
|
154
|
+
/** Slot below the header, for actions such as a primary button. */
|
|
155
|
+
const EmptyStateContent = /*#__PURE__*/forwardRef(({
|
|
156
|
+
className,
|
|
157
|
+
...props
|
|
158
|
+
}, ref) => {
|
|
159
|
+
const {
|
|
160
|
+
content
|
|
161
|
+
} = emptyStateVariants();
|
|
162
|
+
return /*#__PURE__*/_jsx(View, {
|
|
163
|
+
ref: ref,
|
|
164
|
+
className: content({
|
|
165
|
+
className
|
|
166
|
+
}),
|
|
167
|
+
...props
|
|
168
|
+
});
|
|
169
|
+
});
|
|
170
|
+
EmptyStateContent.displayName = 'EmptyState.Content';
|
|
171
|
+
export const EmptyState = Object.assign(EmptyStateRoot, {
|
|
172
|
+
Header: EmptyStateHeader,
|
|
173
|
+
Media: EmptyStateMedia,
|
|
174
|
+
Title: EmptyStateTitle,
|
|
175
|
+
Description: EmptyStateDescription,
|
|
176
|
+
Content: EmptyStateContent
|
|
177
|
+
});
|
|
178
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["forwardRef","View","tv","Text","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","emptyStateVariants","slots","root","header","title","description","content","mediaVariants","wrapper","card","ghost","variants","variant","default","icon","defaultVariants","EmptyStateRoot","className","props","ref","displayName","EmptyStateHeader","EmptyStateMedia","children","accessibilityElementsHidden","importantForAccessibility","EmptyStateTitle","EmptyStateDescription","EmptyStateContent","EmptyState","Object","assign","Header","Media","Title","Description","Content"],"sourceRoot":"../../../../src","sources":["components/empty-state/index.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { forwardRef } from 'react';
|
|
4
|
+
import { View } from 'react-native';
|
|
5
|
+
import { Text } from "../../primitives/text.js";
|
|
6
|
+
import { cn } from "../../utils/cn.js";
|
|
7
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
8
|
+
/**
|
|
9
|
+
* Grouping container (Coss UI's CardFrame): a tinted, rounded surface that
|
|
10
|
+
* holds a header, one or more inset panels, and a footer. Use it to group
|
|
11
|
+
* related settings or list sections under a single title.
|
|
12
|
+
*/
|
|
13
|
+
const FrameRoot = /*#__PURE__*/forwardRef(({
|
|
14
|
+
className,
|
|
15
|
+
...props
|
|
16
|
+
}, ref) => /*#__PURE__*/_jsx(View, {
|
|
17
|
+
ref: ref,
|
|
18
|
+
className: cn('gap-2 rounded-2xl border border-border bg-surface py-2', className),
|
|
19
|
+
...props
|
|
20
|
+
}));
|
|
21
|
+
FrameRoot.displayName = 'Frame';
|
|
22
|
+
const FrameHeader = /*#__PURE__*/forwardRef(({
|
|
23
|
+
className,
|
|
24
|
+
...props
|
|
25
|
+
}, ref) => /*#__PURE__*/_jsx(View, {
|
|
26
|
+
ref: ref,
|
|
27
|
+
className: cn('gap-1 px-5 py-2', className),
|
|
28
|
+
...props
|
|
29
|
+
}));
|
|
30
|
+
FrameHeader.displayName = 'Frame.Header';
|
|
31
|
+
const FrameTitle = /*#__PURE__*/forwardRef(({
|
|
32
|
+
className,
|
|
33
|
+
...props
|
|
34
|
+
}, ref) => /*#__PURE__*/_jsx(Text, {
|
|
35
|
+
ref: ref,
|
|
36
|
+
size: "base",
|
|
37
|
+
weight: "semibold",
|
|
38
|
+
className: cn('text-foreground', className),
|
|
39
|
+
...props
|
|
40
|
+
}));
|
|
41
|
+
FrameTitle.displayName = 'Frame.Title';
|
|
42
|
+
const FrameDescription = /*#__PURE__*/forwardRef(({
|
|
43
|
+
className,
|
|
44
|
+
...props
|
|
45
|
+
}, ref) => /*#__PURE__*/_jsx(Text, {
|
|
46
|
+
ref: ref,
|
|
47
|
+
size: "sm",
|
|
48
|
+
muted: true,
|
|
49
|
+
className: className,
|
|
50
|
+
...props
|
|
51
|
+
}));
|
|
52
|
+
FrameDescription.displayName = 'Frame.Description';
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* An inset card surface inside a Frame — the raised panel that holds the
|
|
56
|
+
* frame's actual content, sitting slightly in from the frame's edges.
|
|
57
|
+
*/
|
|
58
|
+
const FramePanel = /*#__PURE__*/forwardRef(({
|
|
59
|
+
className,
|
|
60
|
+
...props
|
|
61
|
+
}, ref) => /*#__PURE__*/_jsx(View, {
|
|
62
|
+
ref: ref,
|
|
63
|
+
className: cn('mx-1.5 overflow-hidden rounded-xl border border-border bg-card', className),
|
|
64
|
+
...props
|
|
65
|
+
}));
|
|
66
|
+
FramePanel.displayName = 'Frame.Panel';
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* A row inside a Frame.Panel. Pass `divided` on every row after the first to
|
|
70
|
+
* draw a hairline separator above it (React Native has no :first-child).
|
|
71
|
+
*/
|
|
72
|
+
|
|
73
|
+
const FrameRow = /*#__PURE__*/forwardRef(({
|
|
74
|
+
className,
|
|
75
|
+
divided,
|
|
76
|
+
...props
|
|
77
|
+
}, ref) => /*#__PURE__*/_jsx(View, {
|
|
78
|
+
ref: ref,
|
|
79
|
+
className: cn('flex-row items-center gap-3 px-4 py-3.5', divided && 'border-t border-border', className),
|
|
80
|
+
...props
|
|
81
|
+
}));
|
|
82
|
+
FrameRow.displayName = 'Frame.Row';
|
|
83
|
+
const FrameFooter = /*#__PURE__*/forwardRef(({
|
|
84
|
+
className,
|
|
85
|
+
...props
|
|
86
|
+
}, ref) => /*#__PURE__*/_jsx(View, {
|
|
87
|
+
ref: ref,
|
|
88
|
+
className: cn('flex-row items-center gap-2 px-5 py-2', className),
|
|
89
|
+
...props
|
|
90
|
+
}));
|
|
91
|
+
FrameFooter.displayName = 'Frame.Footer';
|
|
92
|
+
export const Frame = Object.assign(FrameRoot, {
|
|
93
|
+
Header: FrameHeader,
|
|
94
|
+
Title: FrameTitle,
|
|
95
|
+
Description: FrameDescription,
|
|
96
|
+
Panel: FramePanel,
|
|
97
|
+
Row: FrameRow,
|
|
98
|
+
Footer: FrameFooter
|
|
99
|
+
});
|
|
100
|
+
//# sourceMappingURL=index.js.map
|