rn-feav-ui 1.0.4 → 1.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/dist/components/AlertDialog/index.d.ts +11 -0
  2. package/dist/components/AlertDialog/index.js +54 -0
  3. package/dist/components/AspectRatio/index.d.ts +7 -0
  4. package/dist/components/AspectRatio/index.js +43 -0
  5. package/dist/components/Badge/index.d.ts +9 -2
  6. package/dist/components/Badge/index.js +24 -9
  7. package/dist/components/Breadcrumb/index.d.ts +11 -0
  8. package/dist/components/Breadcrumb/index.js +60 -0
  9. package/dist/components/Button/index.d.ts +10 -3
  10. package/dist/components/Button/index.js +63 -42
  11. package/dist/components/Calendar/index.d.ts +7 -0
  12. package/dist/components/Calendar/index.js +105 -0
  13. package/dist/components/Card/index.d.ts +7 -3
  14. package/dist/components/Card/index.js +16 -9
  15. package/dist/components/Carousel/index.d.ts +7 -0
  16. package/dist/components/Carousel/index.js +47 -0
  17. package/dist/components/Chart/index.d.ts +12 -0
  18. package/dist/components/Chart/index.js +75 -0
  19. package/dist/components/Checkbox/index.d.ts +9 -1
  20. package/dist/components/Checkbox/index.js +13 -9
  21. package/dist/components/Collapsible/index.d.ts +15 -0
  22. package/dist/components/Collapsible/index.js +73 -0
  23. package/dist/components/Combobox/index.d.ts +13 -0
  24. package/dist/components/Combobox/index.js +107 -0
  25. package/dist/components/Command/index.d.ts +16 -0
  26. package/dist/components/Command/index.js +87 -0
  27. package/dist/components/ContextMenu/index.d.ts +6 -0
  28. package/dist/components/ContextMenu/index.js +45 -0
  29. package/dist/components/DataTable/index.d.ts +16 -0
  30. package/dist/components/DataTable/index.js +72 -0
  31. package/dist/components/DatePicker/index.d.ts +9 -0
  32. package/dist/components/DatePicker/index.js +83 -0
  33. package/dist/components/Drawer/index.d.ts +9 -0
  34. package/dist/components/Drawer/index.js +70 -0
  35. package/dist/components/DropdownMenu/index.d.ts +15 -0
  36. package/dist/components/DropdownMenu/index.js +80 -0
  37. package/dist/components/Empty/index.d.ts +7 -0
  38. package/dist/components/Empty/index.js +63 -0
  39. package/dist/components/Field/index.d.ts +9 -0
  40. package/dist/components/Field/index.js +54 -0
  41. package/dist/components/Input/index.d.ts +5 -6
  42. package/dist/components/Input/index.js +26 -3
  43. package/dist/components/InputGroup/index.d.ts +6 -0
  44. package/dist/components/InputGroup/index.js +59 -0
  45. package/dist/components/InputOTP/index.d.ts +8 -0
  46. package/dist/components/InputOTP/index.js +79 -0
  47. package/dist/components/Kbd/index.d.ts +6 -0
  48. package/dist/components/Kbd/index.js +62 -0
  49. package/dist/components/Label/index.d.ts +8 -1
  50. package/dist/components/Label/index.js +8 -2
  51. package/dist/components/Menubar/index.d.ts +11 -0
  52. package/dist/components/Menubar/index.js +69 -0
  53. package/dist/components/NativeSelect/index.d.ts +21 -0
  54. package/dist/components/NativeSelect/index.js +76 -0
  55. package/dist/components/NavigationMenu/index.d.ts +13 -0
  56. package/dist/components/NavigationMenu/index.js +81 -0
  57. package/dist/components/Pagination/index.d.ts +9 -0
  58. package/dist/components/Pagination/index.js +101 -0
  59. package/dist/components/Popover/index.d.ts +9 -0
  60. package/dist/components/Popover/index.js +69 -0
  61. package/dist/components/RadioGroup/index.d.ts +13 -0
  62. package/dist/components/RadioGroup/index.js +66 -0
  63. package/dist/components/Resizable/index.d.ts +8 -0
  64. package/dist/components/Resizable/index.js +45 -0
  65. package/dist/components/ScrollArea/index.d.ts +6 -0
  66. package/dist/components/ScrollArea/index.js +65 -0
  67. package/dist/components/Sheet/index.d.ts +8 -0
  68. package/dist/components/Sheet/index.js +65 -0
  69. package/dist/components/Sidebar/index.d.ts +17 -0
  70. package/dist/components/Sidebar/index.js +81 -0
  71. package/dist/components/Slider/index.d.ts +10 -0
  72. package/dist/components/Slider/index.js +104 -0
  73. package/dist/components/Sonner/index.d.ts +16 -0
  74. package/dist/components/Sonner/index.js +97 -0
  75. package/dist/components/Spinner/index.d.ts +6 -0
  76. package/dist/components/Spinner/index.js +46 -0
  77. package/dist/components/Switch/index.d.ts +9 -2
  78. package/dist/components/Switch/index.js +10 -4
  79. package/dist/components/Table/index.d.ts +20 -0
  80. package/dist/components/Table/index.js +91 -0
  81. package/dist/components/Textarea/index.d.ts +5 -5
  82. package/dist/components/Textarea/index.js +26 -3
  83. package/dist/components/Toggle/index.d.ts +9 -0
  84. package/dist/components/Toggle/index.js +68 -0
  85. package/dist/components/ToggleGroup/index.d.ts +13 -0
  86. package/dist/components/ToggleGroup/index.js +68 -0
  87. package/dist/components/Tooltip/index.d.ts +9 -0
  88. package/dist/components/Tooltip/index.js +77 -0
  89. package/dist/components/Typography/index.d.ts +8 -1
  90. package/dist/components/Typography/index.js +2 -2
  91. package/dist/components/index.d.ts +36 -0
  92. package/dist/components/index.js +36 -0
  93. package/dist/examples/Showcase.js +197 -58
  94. package/dist/index.d.ts +2 -0
  95. package/dist/index.js +5 -0
  96. package/package.json +1 -1
  97. package/readme.md +615 -29
@@ -40,92 +40,231 @@ var ThemeFEAVUiProvider_1 = require("../theme/ThemeFEAVUiProvider");
40
40
  var components_1 = require("../components");
41
41
  var ShowcaseContent = function () {
42
42
  var _a = (0, ThemeFEAVUiProvider_1.useTheme)(), theme = _a.theme, toggleTheme = _a.toggleTheme;
43
+ var toast = (0, components_1.useToastFEA)().toast;
43
44
  var _b = React.useState(true), checked = _b[0], setChecked = _b[1];
44
45
  var _c = React.useState(false), switchOn = _c[0], setSwitchOn = _c[1];
45
46
  var _d = React.useState(false), dialogOpen = _d[0], setDialogOpen = _d[1];
46
47
  var _e = React.useState(false), modalOpen = _e[0], setModalOpen = _e[1];
47
- return (React.createElement(react_native_1.View, { style: { flex: 1, backgroundColor: theme.colors.bg } },
48
- React.createElement(react_native_1.ScrollView, { contentContainerStyle: { padding: 16, gap: 14 } },
49
- React.createElement(components_1.NavbarFEA, { title: "FEAV UI Showcase" }),
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" }),
50
69
  React.createElement(components_1.CardFEA, null,
51
- React.createElement(components_1.TypographyFEA, { variant: "h2" }, "Theme"),
70
+ React.createElement(components_1.TypographyFEA, { variant: "h2" }, "Theme + Feedback"),
52
71
  React.createElement(components_1.TypographyFEA, { variant: "muted" },
53
72
  "Current: ",
54
73
  theme.mode),
55
- React.createElement(react_native_1.View, { style: { marginTop: 10 } },
56
- React.createElement(components_1.ButtonFEA, { title: "Toggle Theme", variant: "outline", onPress: toggleTheme }))),
74
+ React.createElement(react_native_1.View, { style: { marginTop: 10, gap: 8 } },
75
+ React.createElement(components_1.ButtonFEA, { title: "Toggle Theme", variant: "outline", onPress: toggleTheme }),
76
+ 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." }); } }))),
57
78
  React.createElement(components_1.CardFEA, null,
58
- React.createElement(components_1.TypographyFEA, { variant: "h2" }, "Buttons"),
59
- React.createElement(react_native_1.View, { style: { gap: 8, marginTop: 10 } },
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")),
60
86
  React.createElement(components_1.ButtonFEA, { title: "Primary", onPress: function () { return null; } }),
61
- React.createElement(components_1.ButtonFEA, { title: "Secondary / Soft", variant: "soft", onPress: function () { return null; } }),
62
87
  React.createElement(components_1.ButtonFEA, { title: "Outline", variant: "outline", onPress: function () { return null; } }),
63
- React.createElement(components_1.ButtonFEA, { title: "Ghost", variant: "ghost", onPress: function () { return null; } }),
64
- React.createElement(components_1.ButtonFEA, { title: "Glass", variant: "glass", onPress: function () { return null; } }))),
65
- React.createElement(components_1.CardFEA, null,
66
- React.createElement(components_1.TypographyFEA, { variant: "h2" }, "Inputs"),
67
- React.createElement(react_native_1.View, { style: { marginTop: 10 } },
68
- React.createElement(components_1.LabelFEA, null, "Username"),
69
- React.createElement(components_1.InputFEA, { placeholder: "Enter username" }),
70
- React.createElement(components_1.LabelFEA, null, "Description"),
71
- React.createElement(components_1.TextareaFEA, { placeholder: "Write something..." }))),
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." }))),
72
91
  React.createElement(components_1.CardFEA, null,
73
- React.createElement(components_1.TypographyFEA, { variant: "h2" }, "Selection"),
74
- React.createElement(react_native_1.View, { style: { marginTop: 10, gap: 12 } },
75
- React.createElement(components_1.CheckboxFEA, { checked: checked, onChange: setChecked, label: "Accept terms" }),
76
- React.createElement(components_1.SwitchFEA, { value: switchOn, onValueChange: setSwitchOn, label: "Enable notifications" }))),
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 }))),
77
121
  React.createElement(components_1.CardFEA, null,
78
- React.createElement(components_1.TypographyFEA, { variant: "h2" }, "Status & Feedback"),
122
+ React.createElement(components_1.TypographyFEA, { variant: "h2" }, "Navigation"),
79
123
  React.createElement(react_native_1.View, { style: { marginTop: 10, gap: 10 } },
80
- React.createElement(components_1.BadgeFEA, { label: "Beta" }),
81
- React.createElement(components_1.AlertFEA, { title: "Heads up!", description: "This is a default alert." }),
82
- React.createElement(components_1.AlertFEA, { variant: "destructive", title: "Something went wrong", description: "Please try again later." }),
83
- React.createElement(components_1.ProgressFEA, { value: 66 }),
84
- React.createElement(components_1.SkeletonFEA, { height: 40 }))),
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 }))),
85
145
  React.createElement(components_1.CardFEA, null,
86
- React.createElement(components_1.TypographyFEA, { variant: "h2" }, "Display"),
146
+ React.createElement(components_1.TypographyFEA, { variant: "h2" }, "Data Display"),
87
147
  React.createElement(react_native_1.View, { style: { marginTop: 10, gap: 12 } },
88
- React.createElement(react_native_1.View, { style: { flexDirection: "row", gap: 8 } },
89
- React.createElement(components_1.AvatarFEA, { fallback: "NT" }),
90
- React.createElement(components_1.AvatarFEA, { fallback: "UI", size: 32 })),
91
- React.createElement(components_1.SeparatorFEA, null),
92
- React.createElement(components_1.ListItemFEA, { title: "List title", subtitle: "Supporting text for list item." }))),
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
+ ] }))),
93
172
  React.createElement(components_1.CardFEA, null,
94
- React.createElement(components_1.TypographyFEA, { variant: "h2" }, "Tabs"),
95
- React.createElement(components_1.TabsFEA, { defaultValue: "account" },
96
- React.createElement(components_1.TabsListFEA, { style: { marginTop: 10 } },
97
- React.createElement(components_1.TabsTriggerFEA, { value: "account" }, "Account"),
98
- React.createElement(components_1.TabsTriggerFEA, { value: "password" }, "Password")),
99
- React.createElement(components_1.TabsContentFEA, { value: "account" },
100
- React.createElement(components_1.TypographyFEA, { variant: "p" }, "Manage your account settings here.")),
101
- React.createElement(components_1.TabsContentFEA, { value: "password" },
102
- React.createElement(components_1.TypographyFEA, { variant: "p" }, "Change your password from this tab.")))),
103
- React.createElement(components_1.AccordionFEA, { title: "Accordion Example" },
104
- React.createElement(components_1.TypographyFEA, { variant: "p" }, "This content is shown when accordion is open.")),
105
- React.createElement(components_1.TabBarFEA, null,
106
- React.createElement(components_1.ButtonFEA, { title: "Home", variant: "ghost", onPress: function () { return null; } }),
107
- React.createElement(components_1.ButtonFEA, { title: "Search", variant: "ghost", onPress: function () { return null; } }),
108
- React.createElement(components_1.ButtonFEA, { title: "Profile", variant: "ghost", onPress: function () { return 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); } })))),
109
221
  React.createElement(components_1.CardFEA, null,
110
- React.createElement(components_1.TypographyFEA, { variant: "h2" }, "Overlays"),
222
+ React.createElement(components_1.TypographyFEA, { variant: "h2" }, "Legacy / Existing"),
111
223
  React.createElement(react_native_1.View, { style: { marginTop: 10, gap: 8 } },
112
- React.createElement(components_1.ButtonFEA, { title: "Open Dialog", onPress: function () { return setDialogOpen(true); } }),
113
- React.createElement(components_1.ButtonFEA, { title: "Open Modal", variant: "outline", onPress: function () { return setModalOpen(true); } }))),
114
- React.createElement(components_1.BottomSheetFEA, null,
115
- React.createElement(components_1.TypographyFEA, { variant: "small" }, "BottomSheet preview area"))),
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")))),
239
+ 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"))),
242
+ React.createElement(components_1.SpinnerFEA, { size: "large" })),
116
243
  React.createElement(components_1.DialogFEA, { open: dialogOpen, onOpenChange: setDialogOpen },
117
244
  React.createElement(components_1.DialogHeaderFEA, null,
118
245
  React.createElement(components_1.TypographyFEA, { variant: "h3" }, "Confirm Action"),
119
- React.createElement(components_1.TypographyFEA, { variant: "muted" }, "This is a shadcn-style dialog on React Native.")),
246
+ React.createElement(components_1.TypographyFEA, { variant: "muted" }, "This is a dialog preview.")),
120
247
  React.createElement(components_1.DialogFooterFEA, null,
121
248
  React.createElement(components_1.ButtonFEA, { title: "Cancel", variant: "ghost", onPress: function () { return setDialogOpen(false); } }),
122
249
  React.createElement(components_1.ButtonFEA, { title: "Continue", onPress: function () { return setDialogOpen(false); } }))),
250
+ React.createElement(components_1.AlertDialogFEA, { open: alertDialogOpen, onOpenChange: setAlertDialogOpen, title: "Delete item?", description: "This action cannot be undone.", destructive: true }),
123
251
  React.createElement(components_1.ModalFEA, { visible: modalOpen },
124
252
  React.createElement(components_1.TypographyFEA, { variant: "h3" }, "Modal Content"),
125
- React.createElement(components_1.TypographyFEA, { variant: "muted" }, "This is the modal component preview."),
253
+ React.createElement(components_1.TypographyFEA, { variant: "muted" }, "This is modal preview."),
126
254
  React.createElement(react_native_1.View, { style: { marginTop: 12 } },
127
- React.createElement(components_1.ButtonFEA, { title: "Close", onPress: function () { return setModalOpen(false); } })))));
255
+ React.createElement(components_1.ButtonFEA, { title: "Close", onPress: function () { return setModalOpen(false); } }))),
256
+ React.createElement(components_1.SheetFEA, { open: sheetOpen, onOpenChange: setSheetOpen },
257
+ React.createElement(components_1.TypographyFEA, { variant: "h3" }, "Sheet"),
258
+ React.createElement(components_1.TypographyFEA, { variant: "muted" }, "Bottom aligned sheet")),
259
+ React.createElement(components_1.DrawerFEA, { open: drawerOpen, onOpenChange: setDrawerOpen },
260
+ React.createElement(components_1.TypographyFEA, { variant: "h3" }, "Drawer")),
261
+ React.createElement(components_1.SidebarFEA, { open: drawerOpen, onOpenChange: setDrawerOpen, value: sidebarValue, onValueChange: setSidebarValue, items: [
262
+ { label: "Dashboard", value: "dashboard" },
263
+ { label: "Projects", value: "projects" },
264
+ { label: "Settings", value: "settings" },
265
+ ] })));
128
266
  };
129
267
  var Showcase = function () { return (React.createElement(ThemeFEAVUiProvider_1.ThemeFEAVUiProvider, null,
130
- React.createElement(ShowcaseContent, null))); };
268
+ React.createElement(components_1.SonnerFEA, null,
269
+ React.createElement(ShowcaseContent, null)))); };
131
270
  exports.Showcase = Showcase;
package/dist/index.d.ts CHANGED
@@ -1,2 +1,4 @@
1
1
  export * from "./components";
2
2
  export * from "./theme/ThemeFEAVUiProvider";
3
+ export { lightTheme, darkTheme } from "./theme/colors";
4
+ export * from "./examples/Showcase";
package/dist/index.js CHANGED
@@ -14,5 +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; } });
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.4",
3
+ "version": "1.0.6",
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",