rn-feav-ui 1.0.5 → 1.0.7

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.
@@ -1,4 +1,15 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
2
13
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
14
  if (k2 === undefined) k2 = k;
4
15
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -33,212 +44,207 @@ var __importStar = (this && this.__importStar) || (function () {
33
44
  };
34
45
  })();
35
46
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.Showcase = void 0;
47
+ exports.Showcase = exports.ShowcaseFEA = exports.ShowcaseWithProviderFEA = exports.ShowcaseScreenFEA = void 0;
37
48
  var React = __importStar(require("react"));
38
49
  var react_native_1 = require("react-native");
39
50
  var ThemeFEAVUiProvider_1 = require("../theme/ThemeFEAVUiProvider");
40
51
  var components_1 = require("../components");
41
- var ShowcaseContent = function () {
42
- var _a = (0, ThemeFEAVUiProvider_1.useTheme)(), theme = _a.theme, toggleTheme = _a.toggleTheme;
52
+ var SectionFEA = function (_a) {
53
+ var title = _a.title, children = _a.children;
54
+ return (React.createElement(components_1.CardFEA, null,
55
+ React.createElement(components_1.TypographyFEA, { variant: "h2" }, title),
56
+ React.createElement(react_native_1.View, { style: styles.sectionBody }, children)));
57
+ };
58
+ var ShowcaseScreenFEA = function (_a) {
59
+ var contentContainerStyle = _a.contentContainerStyle;
60
+ var _b = (0, ThemeFEAVUiProvider_1.useTheme)(), theme = _b.theme, toggleTheme = _b.toggleTheme;
43
61
  var toast = (0, components_1.useToastFEA)().toast;
44
- var _b = React.useState(true), checked = _b[0], setChecked = _b[1];
45
- var _c = React.useState(false), switchOn = _c[0], setSwitchOn = _c[1];
46
- var _d = React.useState(false), dialogOpen = _d[0], setDialogOpen = _d[1];
47
- var _e = React.useState(false), modalOpen = _e[0], setModalOpen = _e[1];
48
- var _f = React.useState(false), sheetOpen = _f[0], setSheetOpen = _f[1];
49
- var _g = React.useState(false), drawerOpen = _g[0], setDrawerOpen = _g[1];
50
- var _h = React.useState(false), alertDialogOpen = _h[0], setAlertDialogOpen = _h[1];
51
- var _j = React.useState(false), popoverOpen = _j[0], setPopoverOpen = _j[1];
52
- var _k = React.useState(false), menuOpen = _k[0], setMenuOpen = _k[1];
53
- var _l = React.useState(false), commandOpen = _l[0], setCommandOpen = _l[1];
54
- var _m = React.useState("dashboard"), sidebarValue = _m[0], setSidebarValue = _m[1];
55
- var _o = React.useState("home"), navValue = _o[0], setNavValue = _o[1];
56
- var _p = React.useState(3), page = _p[0], setPage = _p[1];
57
- var _q = React.useState("personal"), radio = _q[0], setRadio = _q[1];
58
- var _r = React.useState(undefined), selectValue = _r[0], setSelectValue = _r[1];
59
- var _s = React.useState(undefined), comboValue = _s[0], setComboValue = _s[1];
60
- var _t = React.useState(""), otp = _t[0], setOtp = _t[1];
61
- var _u = React.useState(new Date()), date = _u[0], setDate = _u[1];
62
- var _v = React.useState(false), collapseOpen = _v[0], setCollapseOpen = _v[1];
63
- var _w = React.useState(false), togglePressed = _w[0], setTogglePressed = _w[1];
64
- var _x = React.useState("left"), toggleGroupValue = _x[0], setToggleGroupValue = _x[1];
65
- var _y = React.useState(35), sliderValue = _y[0], setSliderValue = _y[1];
66
- return (React.createElement(react_native_1.View, { style: { flex: 1, backgroundColor: theme.colors.background } },
67
- React.createElement(components_1.ScrollAreaFEA, { contentContainerStyle: { padding: 16, gap: 14 } },
68
- React.createElement(components_1.NavbarFEA, { title: "FEA Full Showcase" }),
69
- React.createElement(components_1.CardFEA, null,
70
- React.createElement(components_1.TypographyFEA, { variant: "h2" }, "Theme + Feedback"),
62
+ var _c = React.useState(true), checked = _c[0], setChecked = _c[1];
63
+ var _d = React.useState(false), switchOn = _d[0], setSwitchOn = _d[1];
64
+ var _e = React.useState(false), dialogOpen = _e[0], setDialogOpen = _e[1];
65
+ var _f = React.useState(false), modalOpen = _f[0], setModalOpen = _f[1];
66
+ var _g = React.useState(false), sheetOpen = _g[0], setSheetOpen = _g[1];
67
+ var _h = React.useState(false), drawerOpen = _h[0], setDrawerOpen = _h[1];
68
+ var _j = React.useState(false), alertDialogOpen = _j[0], setAlertDialogOpen = _j[1];
69
+ var _k = React.useState(false), popoverOpen = _k[0], setPopoverOpen = _k[1];
70
+ var _l = React.useState(false), menuOpen = _l[0], setMenuOpen = _l[1];
71
+ var _m = React.useState(false), commandOpen = _m[0], setCommandOpen = _m[1];
72
+ var _o = React.useState("dashboard"), sidebarValue = _o[0], setSidebarValue = _o[1];
73
+ var _p = React.useState("home"), navValue = _p[0], setNavValue = _p[1];
74
+ var _q = React.useState(3), page = _q[0], setPage = _q[1];
75
+ var _r = React.useState("personal"), radio = _r[0], setRadio = _r[1];
76
+ var _s = React.useState(undefined), selectValue = _s[0], setSelectValue = _s[1];
77
+ var _t = React.useState(undefined), comboValue = _t[0], setComboValue = _t[1];
78
+ var _u = React.useState(""), otp = _u[0], setOtp = _u[1];
79
+ var _v = React.useState(new Date()), date = _v[0], setDate = _v[1];
80
+ var _w = React.useState(false), collapseOpen = _w[0], setCollapseOpen = _w[1];
81
+ var _x = React.useState(false), togglePressed = _x[0], setTogglePressed = _x[1];
82
+ var _y = React.useState("left"), toggleGroupValue = _y[0], setToggleGroupValue = _y[1];
83
+ var _z = React.useState(35), sliderValue = _z[0], setSliderValue = _z[1];
84
+ return (React.createElement(react_native_1.View, { style: [styles.screen, { backgroundColor: theme.colors.background }] },
85
+ React.createElement(components_1.ScrollAreaFEA, { contentContainerStyle: [styles.container, contentContainerStyle] },
86
+ React.createElement(components_1.NavbarFEA, { title: "FEA UI Showcase" }),
87
+ React.createElement(SectionFEA, { title: "Theme + Feedback" },
71
88
  React.createElement(components_1.TypographyFEA, { variant: "muted" },
72
- "Current: ",
89
+ "Current theme: ",
73
90
  theme.mode),
74
- React.createElement(react_native_1.View, { style: { marginTop: 10, gap: 8 } },
91
+ React.createElement(react_native_1.View, { style: styles.stackSm },
75
92
  React.createElement(components_1.ButtonFEA, { title: "Toggle Theme", variant: "outline", onPress: toggleTheme }),
76
93
  React.createElement(components_1.ThemeSwitchFEA, null),
77
- React.createElement(components_1.ButtonFEA, { title: "Toast", onPress: function () { return toast({ title: "Saved", description: "Your changes are saved." }); } }))),
78
- React.createElement(components_1.CardFEA, null,
79
- React.createElement(components_1.TypographyFEA, { variant: "h2" }, "Core"),
80
- React.createElement(react_native_1.View, { style: { marginTop: 10, gap: 10 } },
81
- React.createElement(react_native_1.View, { style: { flexDirection: "row", gap: 8 } },
82
- React.createElement(components_1.AvatarFEA, { fallback: "NT" }),
83
- React.createElement(components_1.AvatarFEA, { fallback: "UI", size: 32 }),
84
- React.createElement(components_1.BadgeFEA, { label: "Beta" }),
85
- React.createElement(components_1.KbdFEA, null, "Cmd+K")),
86
- React.createElement(components_1.ButtonFEA, { title: "Primary", onPress: function () { return null; } }),
87
- React.createElement(components_1.ButtonFEA, { title: "Outline", variant: "outline", onPress: function () { return null; } }),
88
- React.createElement(components_1.ProgressFEA, { value: 66 }),
89
- React.createElement(components_1.SkeletonFEA, { height: 38 }),
90
- React.createElement(components_1.EmptyFEA, { title: "No notifications", description: "Everything is clean." }))),
91
- React.createElement(components_1.CardFEA, null,
92
- React.createElement(components_1.TypographyFEA, { variant: "h2" }, "Form"),
93
- React.createElement(react_native_1.View, { style: { marginTop: 10, gap: 10 } },
94
- React.createElement(components_1.FieldFEA, { label: "Username", description: "This will be visible publicly" },
95
- React.createElement(components_1.InputFEA, { placeholder: "nura.trong" })),
96
- React.createElement(components_1.FieldFEA, { label: "Bio" },
97
- React.createElement(components_1.TextareaFEA, { placeholder: "Write something..." })),
98
- React.createElement(react_native_1.View, { style: { gap: 8 } },
99
- React.createElement(components_1.CheckboxFEA, { checked: checked, onChange: setChecked, label: "Accept terms" }),
100
- React.createElement(components_1.SwitchFEA, { value: switchOn, onValueChange: setSwitchOn, label: "Enable notifications" }),
101
- React.createElement(components_1.RadioGroupFEA, { value: radio, onValueChange: setRadio, options: [
102
- { label: "Personal", value: "personal" },
103
- { label: "Business", value: "business" },
104
- ] })),
105
- React.createElement(components_1.NativeSelectFEA, { value: selectValue, onValueChange: setSelectValue, options: [
106
- { label: "Vietnam", value: "vn" },
107
- { label: "Japan", value: "jp" },
108
- { label: "US", value: "us" },
109
- ] }),
110
- React.createElement(components_1.SelectFEA, { value: selectValue, onValueChange: setSelectValue, options: [
111
- { label: "Vietnam", value: "vn" },
112
- { label: "Japan", value: "jp" },
113
- { label: "US", value: "us" },
114
- ] }),
115
- React.createElement(components_1.ComboboxFEA, { value: comboValue, onValueChange: setComboValue, options: [
116
- { label: "React Native", value: "rn" },
117
- { label: "TypeScript", value: "ts" },
118
- { label: "Expo", value: "expo" },
119
- ] }),
120
- React.createElement(components_1.InputOTPFEA, { value: otp, onChange: setOtp }))),
121
- React.createElement(components_1.CardFEA, null,
122
- React.createElement(components_1.TypographyFEA, { variant: "h2" }, "Navigation"),
123
- React.createElement(react_native_1.View, { style: { marginTop: 10, gap: 10 } },
124
- React.createElement(components_1.BreadcrumbFEA, { items: [
125
- { label: "Home", onPress: function () { return null; } },
126
- { label: "Docs", onPress: function () { return null; } },
127
- { label: "Components" },
128
- ] }),
129
- React.createElement(components_1.NavigationMenuFEA, { value: navValue, onValueChange: setNavValue, items: [
130
- { label: "Home", value: "home" },
131
- { label: "Pricing", value: "pricing" },
132
- { label: "About", value: "about" },
133
- ] }),
134
- React.createElement(components_1.MenubarFEA, { items: [
135
- {
136
- label: "File",
137
- items: [{ label: "New" }, { label: "Open" }, { label: "Save" }],
138
- },
139
- {
140
- label: "Edit",
141
- items: [{ label: "Undo" }, { label: "Redo" }],
142
- },
143
- ] }),
144
- React.createElement(components_1.PaginationFEA, { page: page, pageCount: 12, onPageChange: setPage }))),
145
- React.createElement(components_1.CardFEA, null,
146
- React.createElement(components_1.TypographyFEA, { variant: "h2" }, "Data Display"),
147
- React.createElement(react_native_1.View, { style: { marginTop: 10, gap: 12 } },
148
- React.createElement(components_1.TableFEA, null,
149
- React.createElement(components_1.TableHeadFEA, null,
150
- React.createElement(react_native_1.View, { style: { flexDirection: "row" } },
151
- React.createElement(components_1.TableCellFEA, { flex: 2 }, "Name"),
152
- React.createElement(components_1.TableCellFEA, null, "Status"))),
153
- React.createElement(components_1.SeparatorFEA, null),
154
- React.createElement(components_1.TableRowFEA, null,
155
- React.createElement(components_1.TableCellFEA, { flex: 2 }, "Nura"),
156
- React.createElement(components_1.TableCellFEA, null, "Active"))),
157
- React.createElement(components_1.DataTableFEA, { columns: [
158
- { key: "name", header: "Name", flex: 2 },
159
- { key: "role", header: "Role" },
160
- ], data: [
161
- { name: "Alice", role: "Admin" },
162
- { name: "Bob", role: "Editor" },
163
- ], rowKey: function (row) { return row.name; } }),
164
- React.createElement(components_1.CalendarFEA, { value: date, onChange: setDate }),
165
- React.createElement(components_1.ChartFEA, { title: "Sales", data: [
166
- { label: "Mon", value: 12 },
167
- { label: "Tue", value: 8 },
168
- { label: "Wed", value: 15 },
169
- { label: "Thu", value: 10 },
170
- { label: "Fri", value: 18 },
171
- ] }))),
172
- React.createElement(components_1.CardFEA, null,
173
- React.createElement(components_1.TypographyFEA, { variant: "h2" }, "Interaction"),
174
- React.createElement(react_native_1.View, { style: { marginTop: 10, gap: 10 } },
175
- React.createElement(components_1.CollapsibleFEA, { open: collapseOpen, onOpenChange: setCollapseOpen, trigger: React.createElement(components_1.CollapsibleTriggerFEA, { title: "Collapsible Section", open: collapseOpen, onPress: function () { return setCollapseOpen(function (v) { return !v; }); } }) },
176
- React.createElement(components_1.TypographyFEA, { variant: "p" }, "Hidden content here.")),
177
- React.createElement(react_native_1.View, { style: { flexDirection: "row", gap: 8, flexWrap: "wrap" } },
178
- React.createElement(components_1.ToggleFEA, { pressed: togglePressed, onPressedChange: setTogglePressed }, "Toggle"),
179
- React.createElement(components_1.ToggleGroupFEA, { type: "single", value: toggleGroupValue, onValueChange: setToggleGroupValue, items: [
180
- { label: "Left", value: "left" },
181
- { label: "Center", value: "center" },
182
- { label: "Right", value: "right" },
183
- ] })),
184
- React.createElement(components_1.SliderFEA, { value: sliderValue, onValueChange: setSliderValue }),
185
- React.createElement(components_1.TypographyFEA, { variant: "small" },
186
- "Slider value: ",
187
- Math.round(sliderValue)),
188
- React.createElement(components_1.CarouselFEA, null, [1, 2, 3].map(function (n) { return (React.createElement(components_1.CardFEA, { key: n },
189
- React.createElement(components_1.TypographyFEA, { variant: "h3" },
190
- "Slide ",
191
- n))); })),
192
- React.createElement(components_1.ResizableFEA, { width: "100%", height: 80 },
193
- React.createElement(components_1.CardFEA, null,
194
- React.createElement(components_1.TypographyFEA, { variant: "small" }, "Resizable Area"))))),
195
- React.createElement(components_1.CardFEA, null,
196
- React.createElement(components_1.TypographyFEA, { variant: "h2" }, "Overlay & Menu"),
197
- React.createElement(react_native_1.View, { style: { marginTop: 10, gap: 8 } },
198
- React.createElement(components_1.PopoverFEA, { open: popoverOpen, onOpenChange: setPopoverOpen, trigger: React.createElement(components_1.ButtonFEA, { title: "Open Popover", onPress: function () { return setPopoverOpen(true); } }) },
199
- React.createElement(components_1.TypographyFEA, { variant: "p" }, "Popover content")),
200
- React.createElement(components_1.DropdownMenuFEA, { open: menuOpen, onOpenChange: setMenuOpen, trigger: React.createElement(components_1.ButtonFEA, { title: "Open Dropdown", onPress: function () { return setMenuOpen(true); } }), items: [
201
- { label: "Profile", onSelect: function () { return null; } },
202
- { label: "Settings", onSelect: function () { return null; } },
203
- { label: "Delete", destructive: true, onSelect: function () { return null; } },
204
- ] }),
205
- React.createElement(components_1.CommandFEA, { open: commandOpen, onOpenChange: setCommandOpen, trigger: React.createElement(components_1.ButtonFEA, { title: "Open Command", onPress: function () { return setCommandOpen(true); } }), items: [
206
- { label: "Go to dashboard", value: "dashboard" },
207
- { label: "Open profile", value: "profile" },
208
- { label: "Open settings", value: "settings" },
209
- ] }),
210
- React.createElement(react_native_1.View, { style: { flexDirection: "row", gap: 8, flexWrap: "wrap" } },
211
- React.createElement(components_1.TooltipFEA, { text: "Tooltip example" },
212
- React.createElement(components_1.ButtonFEA, { title: "Tooltip", variant: "outline", onPress: function () { return null; } })),
213
- React.createElement(components_1.HoverCardFEA, { text: "Hover card style info" },
214
- React.createElement(components_1.ButtonFEA, { title: "HoverCard", variant: "outline", onPress: function () { return null; } })),
215
- React.createElement(components_1.ButtonFEA, { title: "Open Dialog", onPress: function () { return setDialogOpen(true); } }),
216
- React.createElement(components_1.ButtonFEA, { title: "Open AlertDialog", variant: "outline", onPress: function () { return setAlertDialogOpen(true); } }),
217
- React.createElement(components_1.ButtonFEA, { title: "Open Modal", variant: "outline", onPress: function () { return setModalOpen(true); } }),
218
- React.createElement(components_1.ButtonFEA, { title: "Open Sheet", variant: "outline", onPress: function () { return setSheetOpen(true); } }),
219
- React.createElement(components_1.ButtonFEA, { title: "Open Drawer", variant: "outline", onPress: function () { return setDrawerOpen(true); } }),
220
- React.createElement(components_1.ButtonFEA, { title: "Open Sidebar", variant: "outline", onPress: function () { return setDrawerOpen(true); } })))),
221
- React.createElement(components_1.CardFEA, null,
222
- React.createElement(components_1.TypographyFEA, { variant: "h2" }, "Legacy / Existing"),
223
- React.createElement(react_native_1.View, { style: { marginTop: 10, gap: 8 } },
224
- React.createElement(components_1.TabsFEA, { defaultValue: "account" },
225
- React.createElement(components_1.TabsListFEA, null,
226
- React.createElement(components_1.TabsTriggerFEA, { value: "account" }, "Account"),
227
- React.createElement(components_1.TabsTriggerFEA, { value: "password" }, "Password")),
228
- React.createElement(components_1.TabsContentFEA, { value: "account" },
229
- React.createElement(components_1.TypographyFEA, { variant: "p" }, "Account content.")),
230
- React.createElement(components_1.TabsContentFEA, { value: "password" },
231
- React.createElement(components_1.TypographyFEA, { variant: "p" }, "Password content."))),
232
- React.createElement(components_1.ListItemFEA, { title: "List title", subtitle: "Supporting text." }),
233
- React.createElement(components_1.TabBarFEA, null,
234
- React.createElement(components_1.ButtonFEA, { title: "Home", variant: "ghost", onPress: function () { return null; } }),
235
- React.createElement(components_1.ButtonFEA, { title: "Search", variant: "ghost", onPress: function () { return null; } }),
236
- React.createElement(components_1.ButtonFEA, { title: "Profile", variant: "ghost", onPress: function () { return null; } })),
237
- React.createElement(components_1.BottomSheetFEA, null,
238
- React.createElement(components_1.TypographyFEA, { variant: "small" }, "BottomSheet preview")))),
94
+ React.createElement(components_1.ButtonFEA, { title: "Show Toast", onPress: function () { return toast({ title: "Saved", description: "Your changes were saved." }); } }))),
95
+ React.createElement(SectionFEA, { title: "Core" },
96
+ React.createElement(react_native_1.View, { style: styles.rowWrap },
97
+ React.createElement(components_1.AvatarFEA, { fallback: "NT" }),
98
+ React.createElement(components_1.AvatarFEA, { fallback: "UI", size: 32 }),
99
+ React.createElement(components_1.BadgeFEA, { label: "Beta" }),
100
+ React.createElement(components_1.KbdFEA, null, "Cmd+K")),
101
+ React.createElement(components_1.ButtonFEA, { title: "Primary", onPress: function () { return null; } }),
102
+ React.createElement(components_1.ButtonFEA, { title: "Outline", variant: "outline", onPress: function () { return null; } }),
103
+ React.createElement(components_1.ProgressFEA, { value: 66 }),
104
+ React.createElement(components_1.SkeletonFEA, { height: 38 }),
105
+ React.createElement(components_1.EmptyFEA, { title: "No notifications", description: "Everything is clean." })),
106
+ React.createElement(SectionFEA, { title: "Form" },
107
+ React.createElement(components_1.FieldFEA, { label: "Username", description: "This will be visible publicly" },
108
+ React.createElement(components_1.InputFEA, { placeholder: "nura.trong" })),
109
+ React.createElement(components_1.FieldFEA, { label: "Bio" },
110
+ React.createElement(components_1.TextareaFEA, { placeholder: "Write something..." })),
111
+ React.createElement(react_native_1.View, { style: styles.stackSm },
112
+ React.createElement(components_1.CheckboxFEA, { checked: checked, onChange: setChecked, label: "Accept terms" }),
113
+ React.createElement(components_1.SwitchFEA, { value: switchOn, onValueChange: setSwitchOn, label: "Enable notifications" }),
114
+ React.createElement(components_1.RadioGroupFEA, { value: radio, onValueChange: setRadio, options: [
115
+ { label: "Personal", value: "personal" },
116
+ { label: "Business", value: "business" },
117
+ ] })),
118
+ React.createElement(components_1.NativeSelectFEA, { value: selectValue, onValueChange: setSelectValue, options: [
119
+ { label: "Vietnam", value: "vn" },
120
+ { label: "Japan", value: "jp" },
121
+ { label: "US", value: "us" },
122
+ ] }),
123
+ React.createElement(components_1.SelectFEA, { value: selectValue, onValueChange: setSelectValue, options: [
124
+ { label: "Vietnam", value: "vn" },
125
+ { label: "Japan", value: "jp" },
126
+ { label: "US", value: "us" },
127
+ ] }),
128
+ React.createElement(components_1.ComboboxFEA, { value: comboValue, onValueChange: setComboValue, options: [
129
+ { label: "React Native", value: "rn" },
130
+ { label: "TypeScript", value: "ts" },
131
+ { label: "Expo", value: "expo" },
132
+ ] }),
133
+ React.createElement(components_1.InputOTPFEA, { value: otp, onChange: setOtp })),
134
+ React.createElement(SectionFEA, { title: "Navigation" },
135
+ React.createElement(components_1.BreadcrumbFEA, { items: [
136
+ { label: "Home", onPress: function () { return null; } },
137
+ { label: "Docs", onPress: function () { return null; } },
138
+ { label: "Components" },
139
+ ] }),
140
+ React.createElement(components_1.NavigationMenuFEA, { value: navValue, onValueChange: setNavValue, items: [
141
+ { label: "Home", value: "home" },
142
+ { label: "Pricing", value: "pricing" },
143
+ { label: "About", value: "about" },
144
+ ] }),
145
+ React.createElement(components_1.MenubarFEA, { items: [
146
+ {
147
+ label: "File",
148
+ items: [{ label: "New" }, { label: "Open" }, { label: "Save" }],
149
+ },
150
+ {
151
+ label: "Edit",
152
+ items: [{ label: "Undo" }, { label: "Redo" }],
153
+ },
154
+ ] }),
155
+ React.createElement(components_1.PaginationFEA, { page: page, pageCount: 12, onPageChange: setPage })),
156
+ React.createElement(SectionFEA, { title: "Data Display" },
157
+ React.createElement(components_1.TableFEA, null,
158
+ React.createElement(components_1.TableHeadFEA, null,
159
+ React.createElement(react_native_1.View, { style: styles.row },
160
+ React.createElement(components_1.TableCellFEA, { flex: 2 }, "Name"),
161
+ React.createElement(components_1.TableCellFEA, null, "Status"))),
162
+ React.createElement(components_1.SeparatorFEA, null),
163
+ React.createElement(components_1.TableRowFEA, null,
164
+ React.createElement(components_1.TableCellFEA, { flex: 2 }, "Nura"),
165
+ React.createElement(components_1.TableCellFEA, null, "Active"))),
166
+ React.createElement(components_1.DataTableFEA, { columns: [
167
+ { key: "name", header: "Name", flex: 2 },
168
+ { key: "role", header: "Role" },
169
+ ], data: [
170
+ { name: "Alice", role: "Admin" },
171
+ { name: "Bob", role: "Editor" },
172
+ ], rowKey: function (row) { return row.name; } }),
173
+ React.createElement(components_1.CalendarFEA, { value: date, onChange: setDate }),
174
+ React.createElement(components_1.ChartFEA, { title: "Sales", data: [
175
+ { label: "Mon", value: 12 },
176
+ { label: "Tue", value: 8 },
177
+ { label: "Wed", value: 15 },
178
+ { label: "Thu", value: 10 },
179
+ { label: "Fri", value: 18 },
180
+ ] })),
181
+ React.createElement(SectionFEA, { title: "Interaction" },
182
+ React.createElement(components_1.AccordionFEA, { title: "Accordion Item" },
183
+ React.createElement(components_1.TypographyFEA, { variant: "small" }, "Accordion content here.")),
184
+ React.createElement(components_1.CollapsibleFEA, { open: collapseOpen, onOpenChange: setCollapseOpen, trigger: React.createElement(components_1.CollapsibleTriggerFEA, { title: "Collapsible Section", open: collapseOpen, onPress: function () { return setCollapseOpen(function (v) { return !v; }); } }) },
185
+ React.createElement(components_1.TypographyFEA, { variant: "p" }, "Hidden content here.")),
186
+ React.createElement(react_native_1.View, { style: styles.rowWrap },
187
+ React.createElement(components_1.ToggleFEA, { pressed: togglePressed, onPressedChange: setTogglePressed }, "Toggle"),
188
+ React.createElement(components_1.ToggleGroupFEA, { type: "single", value: toggleGroupValue, onValueChange: setToggleGroupValue, items: [
189
+ { label: "Left", value: "left" },
190
+ { label: "Center", value: "center" },
191
+ { label: "Right", value: "right" },
192
+ ] })),
193
+ React.createElement(components_1.SliderFEA, { value: sliderValue, onValueChange: setSliderValue }),
194
+ React.createElement(components_1.TypographyFEA, { variant: "small" },
195
+ "Slider value: ",
196
+ Math.round(sliderValue)),
197
+ React.createElement(components_1.CarouselFEA, null, [1, 2, 3].map(function (n) { return (React.createElement(components_1.CardFEA, { key: n },
198
+ React.createElement(components_1.TypographyFEA, { variant: "h3" },
199
+ "Slide ",
200
+ n))); })),
201
+ React.createElement(components_1.ResizableFEA, { width: "100%", height: 80 },
202
+ React.createElement(components_1.CardFEA, null,
203
+ React.createElement(components_1.TypographyFEA, { variant: "small" }, "Resizable Area")))),
204
+ React.createElement(SectionFEA, { title: "Overlay + Menu" },
205
+ React.createElement(components_1.PopoverFEA, { open: popoverOpen, onOpenChange: setPopoverOpen, trigger: React.createElement(components_1.ButtonFEA, { title: "Open Popover", onPress: function () { return setPopoverOpen(true); } }) },
206
+ React.createElement(components_1.TypographyFEA, { variant: "p" }, "Popover content")),
207
+ React.createElement(components_1.DropdownMenuFEA, { open: menuOpen, onOpenChange: setMenuOpen, trigger: React.createElement(components_1.ButtonFEA, { title: "Open Dropdown", onPress: function () { return setMenuOpen(true); } }), items: [
208
+ { label: "Profile", onSelect: function () { return null; } },
209
+ { label: "Settings", onSelect: function () { return null; } },
210
+ { label: "Delete", destructive: true, onSelect: function () { return null; } },
211
+ ] }),
212
+ React.createElement(components_1.CommandFEA, { open: commandOpen, onOpenChange: setCommandOpen, trigger: React.createElement(components_1.ButtonFEA, { title: "Open Command", onPress: function () { return setCommandOpen(true); } }), items: [
213
+ { label: "Go to dashboard", value: "dashboard" },
214
+ { label: "Open profile", value: "profile" },
215
+ { label: "Open settings", value: "settings" },
216
+ ] }),
217
+ React.createElement(react_native_1.View, { style: styles.rowWrap },
218
+ React.createElement(components_1.TooltipFEA, { text: "Tooltip example" },
219
+ React.createElement(components_1.ButtonFEA, { title: "Tooltip", variant: "outline", onPress: function () { return null; } })),
220
+ React.createElement(components_1.HoverCardFEA, { text: "Hover card style info" },
221
+ React.createElement(components_1.ButtonFEA, { title: "HoverCard", variant: "outline", onPress: function () { return null; } })),
222
+ React.createElement(components_1.ButtonFEA, { title: "Open Dialog", onPress: function () { return setDialogOpen(true); } }),
223
+ React.createElement(components_1.ButtonFEA, { title: "Open AlertDialog", variant: "outline", onPress: function () { return setAlertDialogOpen(true); } }),
224
+ React.createElement(components_1.ButtonFEA, { title: "Open Modal", variant: "outline", onPress: function () { return setModalOpen(true); } }),
225
+ React.createElement(components_1.ButtonFEA, { title: "Open Sheet", variant: "outline", onPress: function () { return setSheetOpen(true); } }),
226
+ React.createElement(components_1.ButtonFEA, { title: "Open Drawer", variant: "outline", onPress: function () { return setDrawerOpen(true); } }),
227
+ React.createElement(components_1.ButtonFEA, { title: "Open Sidebar", variant: "outline", onPress: function () { return setDrawerOpen(true); } }))),
228
+ React.createElement(SectionFEA, { title: "Legacy + Existing" },
229
+ React.createElement(components_1.TabsFEA, { defaultValue: "account" },
230
+ React.createElement(components_1.TabsListFEA, null,
231
+ React.createElement(components_1.TabsTriggerFEA, { value: "account" }, "Account"),
232
+ React.createElement(components_1.TabsTriggerFEA, { value: "password" }, "Password")),
233
+ React.createElement(components_1.TabsContentFEA, { value: "account" },
234
+ React.createElement(components_1.TypographyFEA, { variant: "p" }, "Account content.")),
235
+ React.createElement(components_1.TabsContentFEA, { value: "password" },
236
+ React.createElement(components_1.TypographyFEA, { variant: "p" }, "Password content."))),
237
+ React.createElement(components_1.ListItemFEA, { title: "List title", subtitle: "Supporting text." }),
238
+ React.createElement(components_1.LabelFEA, { required: true }, "Required label sample"),
239
+ React.createElement(components_1.TabBarFEA, null,
240
+ React.createElement(components_1.ButtonFEA, { title: "Home", variant: "ghost", onPress: function () { return null; } }),
241
+ React.createElement(components_1.ButtonFEA, { title: "Search", variant: "ghost", onPress: function () { return null; } }),
242
+ React.createElement(components_1.ButtonFEA, { title: "Profile", variant: "ghost", onPress: function () { return null; } })),
243
+ React.createElement(components_1.BottomSheetFEA, null,
244
+ React.createElement(components_1.TypographyFEA, { variant: "small" }, "BottomSheet preview"))),
239
245
  React.createElement(components_1.AspectRatioFEA, { ratio: 16 / 9 },
240
- React.createElement(components_1.CardFEA, { style: { flex: 1, justifyContent: "center" } },
241
- React.createElement(components_1.TypographyFEA, { variant: "small" }, "Aspect Ratio 16:9"))),
246
+ React.createElement(components_1.CardFEA, { style: styles.aspectCard },
247
+ React.createElement(components_1.TypographyFEA, { variant: "small" }, "Aspect ratio 16:9"))),
242
248
  React.createElement(components_1.SpinnerFEA, { size: "large" })),
243
249
  React.createElement(components_1.DialogFEA, { open: dialogOpen, onOpenChange: setDialogOpen },
244
250
  React.createElement(components_1.DialogHeaderFEA, null,
@@ -251,7 +257,7 @@ var ShowcaseContent = function () {
251
257
  React.createElement(components_1.ModalFEA, { visible: modalOpen },
252
258
  React.createElement(components_1.TypographyFEA, { variant: "h3" }, "Modal Content"),
253
259
  React.createElement(components_1.TypographyFEA, { variant: "muted" }, "This is modal preview."),
254
- React.createElement(react_native_1.View, { style: { marginTop: 12 } },
260
+ React.createElement(react_native_1.View, { style: styles.stackSm },
255
261
  React.createElement(components_1.ButtonFEA, { title: "Close", onPress: function () { return setModalOpen(false); } }))),
256
262
  React.createElement(components_1.SheetFEA, { open: sheetOpen, onOpenChange: setSheetOpen },
257
263
  React.createElement(components_1.TypographyFEA, { variant: "h3" }, "Sheet"),
@@ -264,7 +270,19 @@ var ShowcaseContent = function () {
264
270
  { label: "Settings", value: "settings" },
265
271
  ] })));
266
272
  };
267
- var Showcase = function () { return (React.createElement(ThemeFEAVUiProvider_1.ThemeFEAVUiProvider, null,
273
+ exports.ShowcaseScreenFEA = ShowcaseScreenFEA;
274
+ var ShowcaseWithProviderFEA = function (props) { return (React.createElement(ThemeFEAVUiProvider_1.ThemeFEAVUiProvider, null,
268
275
  React.createElement(components_1.SonnerFEA, null,
269
- React.createElement(ShowcaseContent, null)))); };
270
- exports.Showcase = Showcase;
276
+ React.createElement(exports.ShowcaseScreenFEA, __assign({}, props))))); };
277
+ exports.ShowcaseWithProviderFEA = ShowcaseWithProviderFEA;
278
+ exports.ShowcaseFEA = exports.ShowcaseWithProviderFEA;
279
+ exports.Showcase = exports.ShowcaseWithProviderFEA;
280
+ var styles = react_native_1.StyleSheet.create({
281
+ screen: { flex: 1 },
282
+ container: { padding: 16, gap: 14 },
283
+ sectionBody: { marginTop: 10, gap: 10 },
284
+ stackSm: { marginTop: 10, gap: 8 },
285
+ row: { flexDirection: "row" },
286
+ rowWrap: { flexDirection: "row", gap: 8, flexWrap: "wrap" },
287
+ aspectCard: { flex: 1, justifyContent: "center" },
288
+ });
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from "./components";
2
2
  export * from "./theme/ThemeFEAVUiProvider";
3
+ export { lightTheme, darkTheme } from "./theme/colors";
3
4
  export * from "./examples/Showcase";
package/dist/index.js CHANGED
@@ -14,6 +14,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.darkTheme = exports.lightTheme = void 0;
17
18
  __exportStar(require("./components"), exports);
18
19
  __exportStar(require("./theme/ThemeFEAVUiProvider"), exports);
20
+ var colors_1 = require("./theme/colors");
21
+ Object.defineProperty(exports, "lightTheme", { enumerable: true, get: function () { return colors_1.lightTheme; } });
22
+ Object.defineProperty(exports, "darkTheme", { enumerable: true, get: function () { return colors_1.darkTheme; } });
19
23
  __exportStar(require("./examples/Showcase"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rn-feav-ui",
3
- "version": "1.0.5",
3
+ "version": "1.0.7",
4
4
  "description": "Shadcn-style React Native UI kit with theme support.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",