@goplusvn/core 0.1.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.
Files changed (223) hide show
  1. package/dist/audit/index.d.mts +115 -0
  2. package/dist/audit/index.d.ts +115 -0
  3. package/dist/audit/index.js +204 -0
  4. package/dist/audit/index.js.map +1 -0
  5. package/dist/audit/index.mjs +200 -0
  6. package/dist/audit/index.mjs.map +1 -0
  7. package/dist/auth/index.d.mts +86 -0
  8. package/dist/auth/index.d.ts +86 -0
  9. package/dist/auth/index.js +210 -0
  10. package/dist/auth/index.js.map +1 -0
  11. package/dist/auth/index.mjs +198 -0
  12. package/dist/auth/index.mjs.map +1 -0
  13. package/dist/button-1dWvP9Ib.d.mts +30 -0
  14. package/dist/button-1dWvP9Ib.d.ts +30 -0
  15. package/dist/calendar-2QzdEo1z.d.mts +20 -0
  16. package/dist/calendar-2QzdEo1z.d.ts +20 -0
  17. package/dist/code-generation/index.d.mts +30 -0
  18. package/dist/code-generation/index.d.ts +30 -0
  19. package/dist/code-generation/index.js +31 -0
  20. package/dist/code-generation/index.js.map +1 -0
  21. package/dist/code-generation/index.mjs +28 -0
  22. package/dist/code-generation/index.mjs.map +1 -0
  23. package/dist/configs/index.d.mts +175 -0
  24. package/dist/configs/index.d.ts +175 -0
  25. package/dist/configs/index.js +254 -0
  26. package/dist/configs/index.js.map +1 -0
  27. package/dist/configs/index.mjs +233 -0
  28. package/dist/configs/index.mjs.map +1 -0
  29. package/dist/crud/index.d.mts +646 -0
  30. package/dist/crud/index.d.ts +646 -0
  31. package/dist/crud/index.js +11772 -0
  32. package/dist/crud/index.js.map +1 -0
  33. package/dist/crud/index.mjs +11665 -0
  34. package/dist/crud/index.mjs.map +1 -0
  35. package/dist/crud/server.d.mts +20 -0
  36. package/dist/crud/server.d.ts +20 -0
  37. package/dist/crud/server.js +123 -0
  38. package/dist/crud/server.js.map +1 -0
  39. package/dist/crud/server.mjs +120 -0
  40. package/dist/crud/server.mjs.map +1 -0
  41. package/dist/data-table-skeleton-12NA8Mjx.d.mts +39 -0
  42. package/dist/data-table-skeleton-12NA8Mjx.d.ts +39 -0
  43. package/dist/dialog-bKfjZMTd.d.mts +22 -0
  44. package/dist/dialog-bKfjZMTd.d.ts +22 -0
  45. package/dist/dynamic-icon-DrGIiu2N.d.mts +10 -0
  46. package/dist/dynamic-icon-DrGIiu2N.d.ts +10 -0
  47. package/dist/home/index.d.mts +269 -0
  48. package/dist/home/index.d.ts +269 -0
  49. package/dist/home/index.js +1678 -0
  50. package/dist/home/index.js.map +1 -0
  51. package/dist/home/index.mjs +1635 -0
  52. package/dist/home/index.mjs.map +1 -0
  53. package/dist/hooks/index.d.mts +7 -0
  54. package/dist/hooks/index.d.ts +7 -0
  55. package/dist/hooks/index.js +8316 -0
  56. package/dist/hooks/index.js.map +1 -0
  57. package/dist/hooks/index.mjs +8255 -0
  58. package/dist/hooks/index.mjs.map +1 -0
  59. package/dist/index-50hpiPrV.d.ts +116 -0
  60. package/dist/index-B9zQVEVi.d.mts +116 -0
  61. package/dist/index.d.mts +5 -0
  62. package/dist/index.d.ts +5 -0
  63. package/dist/index.js +123 -0
  64. package/dist/index.js.map +1 -0
  65. package/dist/index.mjs +118 -0
  66. package/dist/index.mjs.map +1 -0
  67. package/dist/infrastructure/index.d.mts +423 -0
  68. package/dist/infrastructure/index.d.ts +423 -0
  69. package/dist/infrastructure/index.js +633 -0
  70. package/dist/infrastructure/index.js.map +1 -0
  71. package/dist/infrastructure/index.mjs +619 -0
  72. package/dist/infrastructure/index.mjs.map +1 -0
  73. package/dist/label-DWTEkNPo.d.ts +226 -0
  74. package/dist/label-LPpdcoBx.d.mts +226 -0
  75. package/dist/layout/index.d.mts +48 -0
  76. package/dist/layout/index.d.ts +48 -0
  77. package/dist/layout/index.js +117 -0
  78. package/dist/layout/index.js.map +1 -0
  79. package/dist/layout/index.mjs +90 -0
  80. package/dist/layout/index.mjs.map +1 -0
  81. package/dist/navigation/index.d.mts +16 -0
  82. package/dist/navigation/index.d.ts +16 -0
  83. package/dist/navigation/index.js +53 -0
  84. package/dist/navigation/index.js.map +1 -0
  85. package/dist/navigation/index.mjs +50 -0
  86. package/dist/navigation/index.mjs.map +1 -0
  87. package/dist/notification/index.d.mts +105 -0
  88. package/dist/notification/index.d.ts +105 -0
  89. package/dist/notification/index.js +278 -0
  90. package/dist/notification/index.js.map +1 -0
  91. package/dist/notification/index.mjs +274 -0
  92. package/dist/notification/index.mjs.map +1 -0
  93. package/dist/organization/index.d.mts +99 -0
  94. package/dist/organization/index.d.ts +99 -0
  95. package/dist/organization/index.js +360 -0
  96. package/dist/organization/index.js.map +1 -0
  97. package/dist/organization/index.mjs +352 -0
  98. package/dist/organization/index.mjs.map +1 -0
  99. package/dist/plugin/index.d.mts +83 -0
  100. package/dist/plugin/index.d.ts +83 -0
  101. package/dist/plugin/index.js +86 -0
  102. package/dist/plugin/index.js.map +1 -0
  103. package/dist/plugin/index.mjs +84 -0
  104. package/dist/plugin/index.mjs.map +1 -0
  105. package/dist/providers/index.d.mts +25 -0
  106. package/dist/providers/index.d.ts +25 -0
  107. package/dist/providers/index.js +84 -0
  108. package/dist/providers/index.js.map +1 -0
  109. package/dist/providers/index.mjs +77 -0
  110. package/dist/providers/index.mjs.map +1 -0
  111. package/dist/rbac/index.d.mts +226 -0
  112. package/dist/rbac/index.d.ts +226 -0
  113. package/dist/rbac/index.js +4784 -0
  114. package/dist/rbac/index.js.map +1 -0
  115. package/dist/rbac/index.mjs +4722 -0
  116. package/dist/rbac/index.mjs.map +1 -0
  117. package/dist/rbac/permissions.d.mts +26 -0
  118. package/dist/rbac/permissions.d.ts +26 -0
  119. package/dist/rbac/permissions.js +94 -0
  120. package/dist/rbac/permissions.js.map +1 -0
  121. package/dist/rbac/permissions.mjs +90 -0
  122. package/dist/rbac/permissions.mjs.map +1 -0
  123. package/dist/rbac/server.d.mts +1 -0
  124. package/dist/rbac/server.d.ts +1 -0
  125. package/dist/rbac/server.js +128 -0
  126. package/dist/rbac/server.js.map +1 -0
  127. package/dist/rbac/server.mjs +124 -0
  128. package/dist/rbac/server.mjs.map +1 -0
  129. package/dist/schemas/index.d.mts +1257 -0
  130. package/dist/schemas/index.d.ts +1257 -0
  131. package/dist/schemas/index.js +572 -0
  132. package/dist/schemas/index.js.map +1 -0
  133. package/dist/schemas/index.mjs +523 -0
  134. package/dist/schemas/index.mjs.map +1 -0
  135. package/dist/server-QuYCTa89.d.mts +83 -0
  136. package/dist/server-QuYCTa89.d.ts +83 -0
  137. package/dist/sonner-C74GlRDQ.d.mts +71 -0
  138. package/dist/sonner-C74GlRDQ.d.ts +71 -0
  139. package/dist/status-BOXZgIqX.d.mts +12 -0
  140. package/dist/status-BOXZgIqX.d.ts +12 -0
  141. package/dist/system/index.d.mts +77 -0
  142. package/dist/system/index.d.ts +77 -0
  143. package/dist/system/index.js +102 -0
  144. package/dist/system/index.js.map +1 -0
  145. package/dist/system/index.mjs +100 -0
  146. package/dist/system/index.mjs.map +1 -0
  147. package/dist/tabs-C6FfBwPY.d.mts +18 -0
  148. package/dist/tabs-C6FfBwPY.d.ts +18 -0
  149. package/dist/tenant-provider-B8eC_Wpb.d.mts +27 -0
  150. package/dist/tenant-provider-B8eC_Wpb.d.ts +27 -0
  151. package/dist/types/index.d.mts +469 -0
  152. package/dist/types/index.d.ts +469 -0
  153. package/dist/types/index.js +25 -0
  154. package/dist/types/index.js.map +1 -0
  155. package/dist/types/index.mjs +21 -0
  156. package/dist/types/index.mjs.map +1 -0
  157. package/dist/ui/auth.d.mts +39 -0
  158. package/dist/ui/auth.d.ts +39 -0
  159. package/dist/ui/auth.js +4941 -0
  160. package/dist/ui/auth.js.map +1 -0
  161. package/dist/ui/auth.mjs +4896 -0
  162. package/dist/ui/auth.mjs.map +1 -0
  163. package/dist/ui/crud.d.mts +2 -0
  164. package/dist/ui/crud.d.ts +2 -0
  165. package/dist/ui/crud.js +4 -0
  166. package/dist/ui/crud.js.map +1 -0
  167. package/dist/ui/crud.mjs +3 -0
  168. package/dist/ui/crud.mjs.map +1 -0
  169. package/dist/ui/data-display.d.mts +596 -0
  170. package/dist/ui/data-display.d.ts +596 -0
  171. package/dist/ui/data-display.js +5307 -0
  172. package/dist/ui/data-display.js.map +1 -0
  173. package/dist/ui/data-display.mjs +5212 -0
  174. package/dist/ui/data-display.mjs.map +1 -0
  175. package/dist/ui/feedback.d.mts +55 -0
  176. package/dist/ui/feedback.d.ts +55 -0
  177. package/dist/ui/feedback.js +2608 -0
  178. package/dist/ui/feedback.js.map +1 -0
  179. package/dist/ui/feedback.mjs +2526 -0
  180. package/dist/ui/feedback.mjs.map +1 -0
  181. package/dist/ui/forms.d.mts +309 -0
  182. package/dist/ui/forms.d.ts +309 -0
  183. package/dist/ui/forms.js +4656 -0
  184. package/dist/ui/forms.js.map +1 -0
  185. package/dist/ui/forms.mjs +4571 -0
  186. package/dist/ui/forms.mjs.map +1 -0
  187. package/dist/ui/index.d.mts +331 -0
  188. package/dist/ui/index.d.ts +331 -0
  189. package/dist/ui/index.js +16953 -0
  190. package/dist/ui/index.js.map +1 -0
  191. package/dist/ui/index.mjs +16598 -0
  192. package/dist/ui/index.mjs.map +1 -0
  193. package/dist/ui/primitives/client.d.mts +61 -0
  194. package/dist/ui/primitives/client.d.ts +61 -0
  195. package/dist/ui/primitives/client.js +3408 -0
  196. package/dist/ui/primitives/client.js.map +1 -0
  197. package/dist/ui/primitives/client.mjs +3256 -0
  198. package/dist/ui/primitives/client.mjs.map +1 -0
  199. package/dist/ui/primitives.d.mts +113 -0
  200. package/dist/ui/primitives.d.ts +113 -0
  201. package/dist/ui/primitives.js +3356 -0
  202. package/dist/ui/primitives.js.map +1 -0
  203. package/dist/ui/primitives.mjs +3227 -0
  204. package/dist/ui/primitives.mjs.map +1 -0
  205. package/dist/user/index.d.mts +228 -0
  206. package/dist/user/index.d.ts +228 -0
  207. package/dist/user/index.js +4306 -0
  208. package/dist/user/index.js.map +1 -0
  209. package/dist/user/index.mjs +4260 -0
  210. package/dist/user/index.mjs.map +1 -0
  211. package/dist/utils/index.d.mts +205 -0
  212. package/dist/utils/index.d.ts +205 -0
  213. package/dist/utils/index.js +574 -0
  214. package/dist/utils/index.js.map +1 -0
  215. package/dist/utils/index.mjs +514 -0
  216. package/dist/utils/index.mjs.map +1 -0
  217. package/dist/workflow/index.d.mts +40 -0
  218. package/dist/workflow/index.d.ts +40 -0
  219. package/dist/workflow/index.js +3710 -0
  220. package/dist/workflow/index.js.map +1 -0
  221. package/dist/workflow/index.mjs +3677 -0
  222. package/dist/workflow/index.mjs.map +1 -0
  223. package/package.json +311 -0
@@ -0,0 +1,269 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
3
+ interface HomePageProps {
4
+ userName?: string;
5
+ userId?: string;
6
+ widgetData?: {
7
+ revenue?: {
8
+ total: number;
9
+ change?: number;
10
+ };
11
+ orders?: {
12
+ total: number;
13
+ pending?: number;
14
+ completed?: number;
15
+ change?: number;
16
+ };
17
+ customers?: {
18
+ total: number;
19
+ newToday?: number;
20
+ change?: number;
21
+ };
22
+ stock?: {
23
+ totalItems: number;
24
+ lowStockCount: number;
25
+ lowStockItems?: Array<{
26
+ id: string;
27
+ name: string;
28
+ quantity: number;
29
+ minStock: number;
30
+ }>;
31
+ };
32
+ };
33
+ availableFeatures?: Array<{
34
+ label: string;
35
+ href: string;
36
+ icon?: string;
37
+ }>;
38
+ widgetDataLoading?: boolean;
39
+ showFeatureShowcase?: boolean;
40
+ className?: string;
41
+ basePath?: string;
42
+ dashboardApiUrl?: string;
43
+ }
44
+ declare function HomePage({ userName, userId, widgetData: initialWidgetData, availableFeatures, widgetDataLoading, showFeatureShowcase, className, basePath, dashboardApiUrl, }: HomePageProps & {
45
+ dashboardApiUrl?: string;
46
+ }): react_jsx_runtime.JSX.Element;
47
+
48
+ interface WelcomeCardProps {
49
+ userName?: string;
50
+ className?: string;
51
+ }
52
+ declare function WelcomeCard({ userName, className }: WelcomeCardProps): react_jsx_runtime.JSX.Element;
53
+
54
+ interface FeatureShowcaseProps {
55
+ className?: string;
56
+ }
57
+ declare function FeatureShowcase({ className }: FeatureShowcaseProps): react_jsx_runtime.JSX.Element;
58
+
59
+ type WidgetType = "revenue" | "orders" | "customers" | "stock";
60
+ type WidgetSize = "small" | "medium" | "large";
61
+ interface WidgetConfig {
62
+ id: string;
63
+ type: WidgetType;
64
+ position: number;
65
+ visible: boolean;
66
+ size: WidgetSize;
67
+ settings?: Record<string, unknown>;
68
+ }
69
+ interface WidgetProps {
70
+ config: WidgetConfig;
71
+ onRemove?: () => void;
72
+ onSettings?: () => void;
73
+ className?: string;
74
+ }
75
+ interface WidgetData {
76
+ value: number | string;
77
+ label: string;
78
+ change?: {
79
+ value: number;
80
+ type: "increase" | "decrease";
81
+ period: string;
82
+ };
83
+ loading?: boolean;
84
+ error?: string;
85
+ }
86
+ interface QuickAccessItem {
87
+ id: string;
88
+ label: string;
89
+ href: string;
90
+ icon: string;
91
+ color?: string;
92
+ }
93
+ interface UserHomePreferences {
94
+ widgets: WidgetConfig[];
95
+ quickAccess: QuickAccessItem[];
96
+ }
97
+ declare const DEFAULT_WIDGETS: WidgetConfig[];
98
+ declare const WIDGET_LABELS: Record<WidgetType, string>;
99
+ interface ERPFeature {
100
+ id: string;
101
+ icon: string;
102
+ title: string;
103
+ description: string;
104
+ subFeatures: string[];
105
+ color: string;
106
+ }
107
+ declare const ERP_FEATURES: ERPFeature[];
108
+
109
+ interface WidgetContainerProps {
110
+ widgets: WidgetConfig[];
111
+ onWidgetsChange: (widgets: WidgetConfig[]) => void;
112
+ widgetData?: {
113
+ revenue?: {
114
+ total: number;
115
+ change?: number;
116
+ };
117
+ orders?: {
118
+ total: number;
119
+ pending?: number;
120
+ completed?: number;
121
+ change?: number;
122
+ };
123
+ customers?: {
124
+ total: number;
125
+ newToday?: number;
126
+ change?: number;
127
+ };
128
+ stock?: {
129
+ totalItems: number;
130
+ lowStockCount: number;
131
+ lowStockItems?: Array<{
132
+ id: string;
133
+ name: string;
134
+ quantity: number;
135
+ minStock: number;
136
+ }>;
137
+ };
138
+ };
139
+ loading?: boolean;
140
+ className?: string;
141
+ }
142
+ declare function WidgetContainer({ widgets, onWidgetsChange, widgetData, loading, className, }: WidgetContainerProps): react_jsx_runtime.JSX.Element;
143
+
144
+ interface QuickAccessMenuProps {
145
+ items: QuickAccessItem[];
146
+ onItemClick?: (item: QuickAccessItem) => void;
147
+ onItemsChange?: (items: QuickAccessItem[]) => void;
148
+ className?: string;
149
+ editable?: boolean;
150
+ availableFeatures?: Array<{
151
+ label: string;
152
+ href: string;
153
+ icon?: string;
154
+ }>;
155
+ }
156
+ declare function QuickAccessMenu({ items, onItemClick, onItemsChange, className, editable, availableFeatures, }: QuickAccessMenuProps): react_jsx_runtime.JSX.Element | null;
157
+ declare const DEFAULT_QUICK_ACCESS: QuickAccessItem[];
158
+
159
+ interface BaseWidgetProps {
160
+ config: WidgetConfig;
161
+ title: string;
162
+ children: React.ReactNode;
163
+ loading?: boolean;
164
+ error?: string;
165
+ onRemove?: () => void;
166
+ onToggleVisibility?: () => void;
167
+ onSettings?: () => void;
168
+ className?: string;
169
+ isDragging?: boolean;
170
+ }
171
+ declare function BaseWidget({ config, title, children, loading, error, onRemove, onToggleVisibility, onSettings, className, isDragging, }: BaseWidgetProps): react_jsx_runtime.JSX.Element | null;
172
+ interface WidgetStatProps {
173
+ value: string | number;
174
+ label?: string;
175
+ change?: {
176
+ value: number;
177
+ type: "increase" | "decrease";
178
+ period?: string;
179
+ };
180
+ valueClassName?: string;
181
+ }
182
+ declare function WidgetStat({ value, label, change, valueClassName, }: WidgetStatProps): react_jsx_runtime.JSX.Element;
183
+
184
+ interface RevenueWidgetProps {
185
+ config: WidgetConfig;
186
+ data?: {
187
+ total: number;
188
+ change?: number;
189
+ changePeriod?: string;
190
+ };
191
+ loading?: boolean;
192
+ error?: string;
193
+ onRemove?: () => void;
194
+ onToggleVisibility?: () => void;
195
+ onSettings?: () => void;
196
+ }
197
+ declare function RevenueWidget({ config, data, loading, error, onRemove, onToggleVisibility, onSettings, }: RevenueWidgetProps): react_jsx_runtime.JSX.Element;
198
+
199
+ interface OrdersWidgetProps {
200
+ config: WidgetConfig;
201
+ data?: {
202
+ total: number;
203
+ pending?: number;
204
+ completed?: number;
205
+ change?: number;
206
+ changePeriod?: string;
207
+ };
208
+ loading?: boolean;
209
+ error?: string;
210
+ onRemove?: () => void;
211
+ onToggleVisibility?: () => void;
212
+ onSettings?: () => void;
213
+ }
214
+ declare function OrdersWidget({ config, data, loading, error, onRemove, onToggleVisibility, onSettings, }: OrdersWidgetProps): react_jsx_runtime.JSX.Element;
215
+
216
+ interface CustomersWidgetProps {
217
+ config: WidgetConfig;
218
+ data?: {
219
+ total: number;
220
+ newToday?: number;
221
+ change?: number;
222
+ changePeriod?: string;
223
+ };
224
+ loading?: boolean;
225
+ error?: string;
226
+ onRemove?: () => void;
227
+ onToggleVisibility?: () => void;
228
+ onSettings?: () => void;
229
+ }
230
+ declare function CustomersWidget({ config, data, loading, error, onRemove, onToggleVisibility, onSettings, }: CustomersWidgetProps): react_jsx_runtime.JSX.Element;
231
+
232
+ interface StockItem {
233
+ id: string;
234
+ name: string;
235
+ quantity: number;
236
+ minStock: number;
237
+ }
238
+ interface StockWidgetProps {
239
+ config: WidgetConfig;
240
+ data?: {
241
+ totalItems: number;
242
+ lowStockCount: number;
243
+ lowStockItems?: StockItem[];
244
+ };
245
+ loading?: boolean;
246
+ error?: string;
247
+ onRemove?: () => void;
248
+ onToggleVisibility?: () => void;
249
+ onSettings?: () => void;
250
+ }
251
+ declare function StockWidget({ config, data, loading, error, onRemove, onToggleVisibility, onSettings, }: StockWidgetProps): react_jsx_runtime.JSX.Element;
252
+
253
+ interface UseWidgetPreferencesOptions {
254
+ userId?: string;
255
+ apiEndpoint?: string;
256
+ fallbackToLocalStorage?: boolean;
257
+ }
258
+ interface UseWidgetPreferencesReturn {
259
+ widgets: WidgetConfig[];
260
+ quickAccess: QuickAccessItem[];
261
+ loading: boolean;
262
+ error: string | null;
263
+ updateWidgets: (widgets: WidgetConfig[]) => Promise<void>;
264
+ updateQuickAccess: (items: QuickAccessItem[]) => Promise<void>;
265
+ resetToDefaults: () => Promise<void>;
266
+ }
267
+ declare function useWidgetPreferences({ userId, apiEndpoint, fallbackToLocalStorage, }?: UseWidgetPreferencesOptions): UseWidgetPreferencesReturn;
268
+
269
+ export { BaseWidget, CustomersWidget, DEFAULT_QUICK_ACCESS, DEFAULT_WIDGETS, type ERPFeature, ERP_FEATURES, FeatureShowcase, HomePage, OrdersWidget, type QuickAccessItem, QuickAccessMenu, RevenueWidget, StockWidget, type UserHomePreferences, WIDGET_LABELS, WelcomeCard, type WidgetConfig, WidgetContainer, type WidgetData, type WidgetProps, type WidgetSize, WidgetStat, type WidgetType, useWidgetPreferences };
@@ -0,0 +1,269 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
3
+ interface HomePageProps {
4
+ userName?: string;
5
+ userId?: string;
6
+ widgetData?: {
7
+ revenue?: {
8
+ total: number;
9
+ change?: number;
10
+ };
11
+ orders?: {
12
+ total: number;
13
+ pending?: number;
14
+ completed?: number;
15
+ change?: number;
16
+ };
17
+ customers?: {
18
+ total: number;
19
+ newToday?: number;
20
+ change?: number;
21
+ };
22
+ stock?: {
23
+ totalItems: number;
24
+ lowStockCount: number;
25
+ lowStockItems?: Array<{
26
+ id: string;
27
+ name: string;
28
+ quantity: number;
29
+ minStock: number;
30
+ }>;
31
+ };
32
+ };
33
+ availableFeatures?: Array<{
34
+ label: string;
35
+ href: string;
36
+ icon?: string;
37
+ }>;
38
+ widgetDataLoading?: boolean;
39
+ showFeatureShowcase?: boolean;
40
+ className?: string;
41
+ basePath?: string;
42
+ dashboardApiUrl?: string;
43
+ }
44
+ declare function HomePage({ userName, userId, widgetData: initialWidgetData, availableFeatures, widgetDataLoading, showFeatureShowcase, className, basePath, dashboardApiUrl, }: HomePageProps & {
45
+ dashboardApiUrl?: string;
46
+ }): react_jsx_runtime.JSX.Element;
47
+
48
+ interface WelcomeCardProps {
49
+ userName?: string;
50
+ className?: string;
51
+ }
52
+ declare function WelcomeCard({ userName, className }: WelcomeCardProps): react_jsx_runtime.JSX.Element;
53
+
54
+ interface FeatureShowcaseProps {
55
+ className?: string;
56
+ }
57
+ declare function FeatureShowcase({ className }: FeatureShowcaseProps): react_jsx_runtime.JSX.Element;
58
+
59
+ type WidgetType = "revenue" | "orders" | "customers" | "stock";
60
+ type WidgetSize = "small" | "medium" | "large";
61
+ interface WidgetConfig {
62
+ id: string;
63
+ type: WidgetType;
64
+ position: number;
65
+ visible: boolean;
66
+ size: WidgetSize;
67
+ settings?: Record<string, unknown>;
68
+ }
69
+ interface WidgetProps {
70
+ config: WidgetConfig;
71
+ onRemove?: () => void;
72
+ onSettings?: () => void;
73
+ className?: string;
74
+ }
75
+ interface WidgetData {
76
+ value: number | string;
77
+ label: string;
78
+ change?: {
79
+ value: number;
80
+ type: "increase" | "decrease";
81
+ period: string;
82
+ };
83
+ loading?: boolean;
84
+ error?: string;
85
+ }
86
+ interface QuickAccessItem {
87
+ id: string;
88
+ label: string;
89
+ href: string;
90
+ icon: string;
91
+ color?: string;
92
+ }
93
+ interface UserHomePreferences {
94
+ widgets: WidgetConfig[];
95
+ quickAccess: QuickAccessItem[];
96
+ }
97
+ declare const DEFAULT_WIDGETS: WidgetConfig[];
98
+ declare const WIDGET_LABELS: Record<WidgetType, string>;
99
+ interface ERPFeature {
100
+ id: string;
101
+ icon: string;
102
+ title: string;
103
+ description: string;
104
+ subFeatures: string[];
105
+ color: string;
106
+ }
107
+ declare const ERP_FEATURES: ERPFeature[];
108
+
109
+ interface WidgetContainerProps {
110
+ widgets: WidgetConfig[];
111
+ onWidgetsChange: (widgets: WidgetConfig[]) => void;
112
+ widgetData?: {
113
+ revenue?: {
114
+ total: number;
115
+ change?: number;
116
+ };
117
+ orders?: {
118
+ total: number;
119
+ pending?: number;
120
+ completed?: number;
121
+ change?: number;
122
+ };
123
+ customers?: {
124
+ total: number;
125
+ newToday?: number;
126
+ change?: number;
127
+ };
128
+ stock?: {
129
+ totalItems: number;
130
+ lowStockCount: number;
131
+ lowStockItems?: Array<{
132
+ id: string;
133
+ name: string;
134
+ quantity: number;
135
+ minStock: number;
136
+ }>;
137
+ };
138
+ };
139
+ loading?: boolean;
140
+ className?: string;
141
+ }
142
+ declare function WidgetContainer({ widgets, onWidgetsChange, widgetData, loading, className, }: WidgetContainerProps): react_jsx_runtime.JSX.Element;
143
+
144
+ interface QuickAccessMenuProps {
145
+ items: QuickAccessItem[];
146
+ onItemClick?: (item: QuickAccessItem) => void;
147
+ onItemsChange?: (items: QuickAccessItem[]) => void;
148
+ className?: string;
149
+ editable?: boolean;
150
+ availableFeatures?: Array<{
151
+ label: string;
152
+ href: string;
153
+ icon?: string;
154
+ }>;
155
+ }
156
+ declare function QuickAccessMenu({ items, onItemClick, onItemsChange, className, editable, availableFeatures, }: QuickAccessMenuProps): react_jsx_runtime.JSX.Element | null;
157
+ declare const DEFAULT_QUICK_ACCESS: QuickAccessItem[];
158
+
159
+ interface BaseWidgetProps {
160
+ config: WidgetConfig;
161
+ title: string;
162
+ children: React.ReactNode;
163
+ loading?: boolean;
164
+ error?: string;
165
+ onRemove?: () => void;
166
+ onToggleVisibility?: () => void;
167
+ onSettings?: () => void;
168
+ className?: string;
169
+ isDragging?: boolean;
170
+ }
171
+ declare function BaseWidget({ config, title, children, loading, error, onRemove, onToggleVisibility, onSettings, className, isDragging, }: BaseWidgetProps): react_jsx_runtime.JSX.Element | null;
172
+ interface WidgetStatProps {
173
+ value: string | number;
174
+ label?: string;
175
+ change?: {
176
+ value: number;
177
+ type: "increase" | "decrease";
178
+ period?: string;
179
+ };
180
+ valueClassName?: string;
181
+ }
182
+ declare function WidgetStat({ value, label, change, valueClassName, }: WidgetStatProps): react_jsx_runtime.JSX.Element;
183
+
184
+ interface RevenueWidgetProps {
185
+ config: WidgetConfig;
186
+ data?: {
187
+ total: number;
188
+ change?: number;
189
+ changePeriod?: string;
190
+ };
191
+ loading?: boolean;
192
+ error?: string;
193
+ onRemove?: () => void;
194
+ onToggleVisibility?: () => void;
195
+ onSettings?: () => void;
196
+ }
197
+ declare function RevenueWidget({ config, data, loading, error, onRemove, onToggleVisibility, onSettings, }: RevenueWidgetProps): react_jsx_runtime.JSX.Element;
198
+
199
+ interface OrdersWidgetProps {
200
+ config: WidgetConfig;
201
+ data?: {
202
+ total: number;
203
+ pending?: number;
204
+ completed?: number;
205
+ change?: number;
206
+ changePeriod?: string;
207
+ };
208
+ loading?: boolean;
209
+ error?: string;
210
+ onRemove?: () => void;
211
+ onToggleVisibility?: () => void;
212
+ onSettings?: () => void;
213
+ }
214
+ declare function OrdersWidget({ config, data, loading, error, onRemove, onToggleVisibility, onSettings, }: OrdersWidgetProps): react_jsx_runtime.JSX.Element;
215
+
216
+ interface CustomersWidgetProps {
217
+ config: WidgetConfig;
218
+ data?: {
219
+ total: number;
220
+ newToday?: number;
221
+ change?: number;
222
+ changePeriod?: string;
223
+ };
224
+ loading?: boolean;
225
+ error?: string;
226
+ onRemove?: () => void;
227
+ onToggleVisibility?: () => void;
228
+ onSettings?: () => void;
229
+ }
230
+ declare function CustomersWidget({ config, data, loading, error, onRemove, onToggleVisibility, onSettings, }: CustomersWidgetProps): react_jsx_runtime.JSX.Element;
231
+
232
+ interface StockItem {
233
+ id: string;
234
+ name: string;
235
+ quantity: number;
236
+ minStock: number;
237
+ }
238
+ interface StockWidgetProps {
239
+ config: WidgetConfig;
240
+ data?: {
241
+ totalItems: number;
242
+ lowStockCount: number;
243
+ lowStockItems?: StockItem[];
244
+ };
245
+ loading?: boolean;
246
+ error?: string;
247
+ onRemove?: () => void;
248
+ onToggleVisibility?: () => void;
249
+ onSettings?: () => void;
250
+ }
251
+ declare function StockWidget({ config, data, loading, error, onRemove, onToggleVisibility, onSettings, }: StockWidgetProps): react_jsx_runtime.JSX.Element;
252
+
253
+ interface UseWidgetPreferencesOptions {
254
+ userId?: string;
255
+ apiEndpoint?: string;
256
+ fallbackToLocalStorage?: boolean;
257
+ }
258
+ interface UseWidgetPreferencesReturn {
259
+ widgets: WidgetConfig[];
260
+ quickAccess: QuickAccessItem[];
261
+ loading: boolean;
262
+ error: string | null;
263
+ updateWidgets: (widgets: WidgetConfig[]) => Promise<void>;
264
+ updateQuickAccess: (items: QuickAccessItem[]) => Promise<void>;
265
+ resetToDefaults: () => Promise<void>;
266
+ }
267
+ declare function useWidgetPreferences({ userId, apiEndpoint, fallbackToLocalStorage, }?: UseWidgetPreferencesOptions): UseWidgetPreferencesReturn;
268
+
269
+ export { BaseWidget, CustomersWidget, DEFAULT_QUICK_ACCESS, DEFAULT_WIDGETS, type ERPFeature, ERP_FEATURES, FeatureShowcase, HomePage, OrdersWidget, type QuickAccessItem, QuickAccessMenu, RevenueWidget, StockWidget, type UserHomePreferences, WIDGET_LABELS, WelcomeCard, type WidgetConfig, WidgetContainer, type WidgetData, type WidgetProps, type WidgetSize, WidgetStat, type WidgetType, useWidgetPreferences };